Chris Waldenberger.
Solo engineer · full-stack & applied AI

Software that’s honest by mechanism.

I build systems that can’t quietly lie — reports that won’t emit an unverified number, send-gates that log every decision to a tamper-evident ledger, guardrails that fail closed. This page works the same way: every claim below carries the receipt that proves it.

all figures verified against source code · 2026-08-20
What I do
Go · Postgres · React/TS

Full-stack product engineering

Shipped a 177-table CRM & communications platform solo — backend, database, and browser UI.

Try it ↓
LLM guardrails

AI output validation

Report and email engines where an unverified fact is structurally blocked from ever being sent.

Try it ↓
Agents · MCP

Agent & MCP engineering

Real Model-Context-Protocol servers and multi-agent orchestration — the workflow that verified this page is one of them.

Try it ↓
Concurrency

Distributed-systems correctness

Diagnosed a self-forking group-messaging livelock and wrote the named regression test that encodes the fix.

Try it ↓
Governance

Auditability & safety systems

Single send choke-points, hash-chained tamper-evident ledgers, human-in-the-loop that can’t approve itself.

Try it ↓
Reliability

DevOps & unattended ops

43 services and 26 timers running hands-off on an $80 board, supervised and self-monitoring.

Try it ↓
Rust FFI · Flutter

Mobile & cryptography integration

A 32k-line Flutter mesh messenger; published a Rust↔Dart binding for real MLS encryption on pub.dev.

Try it ↓
Play with the mechanisms — live in your browser

Each skill above, rebuilt as something you can operate. Three of them run the actual algorithm live on your own machine; the other four are honest simulations of systems whose receipts are in Selected Work below. Nothing here calls out to a server — it all runs client-side.

Full-stack product engineeringSIMULATION

Mini pipeline CRM

What you are proving: data modeling, full CRUD, live derived aggregates, and state that survives a refresh.

A UI slice, in-browser only. The production system, Loqal, runs on Go + PostgreSQL: 177 tables, 368 routes, 50 migrations, built solo.

Total won: $0 · Pipeline (open): $0
AI output validationLIVE ALGORITHM

The Fact Gate

Prove it: no number leaves this report unless it matches a verified fact.

Verified facts (the only figures allowed)

monthly_visits1,240 avg_response3.2 hours five_star_reviews47 contact_phone(404) 555-0199

Draft report (edit me)

Gate view

Try to sneak one past it: change 1,240 to 5,000, or hide an invisible character inside a fake number — the scanner strips the trick and still catches it.

This is the real gate algorithm, running live in your browser - not a mock. It mirrors the production 3-layer report engine (report_engine.py, standard-library only), which withholds output rather than emit an unverified fact. No real revenue or customers are implied.

Agent & MCP engineeringSIMULATION

Fan-out / verify

Watch a coordinator fan work out to parallel agents, then let an adversarial trio vote each finding before it is confirmed.

0finders
0confirmed
0rejected
Coordinator idle. Press Run task.
Finder agents (fan-out) → adversarial verify

Confirmed — synthesis

  • Nothing confirmed yet.
SimSimulation. The orchestration topology is real - this very portfolio was fact-checked on it - but these agents are mocked, not live models.
Distributed-systems correctnessFAITHFUL MODEL

Race the livelock

What you are proving: that reordering one dedup step turns a self-forking concurrency bug into a convergent write.

Node A

read head:
idle

Node B

read head:
idle

Group head pointer

H0 genesis
409-retry counter: 0
Idle — pick an order and press Run race.

    A faithful model of the real bug class. The production fix lives in a relay repo, pinned by a regression test named TestG2_DedupBeforeCAS.

    Auditability & safety systemsLIVE ALGORITHM

    Tamper-evident ledger

    Prove that editing any past entry is detectable: each row's hash is chained to the one before it, so a single silent change breaks verification.

    seqdata (editable)prevHashrowHash
    Edit a row, then Verify to see the chain break.
    This is the real hash-chaining algorithm - SHA-256 via the browser Web Crypto API - running live, not a mock. It mirrors the production ledger.py (SHA-256 chain; verify passes at 81 rows). No revenue or customer data is implied here.
    DevOps & unattended opsSIMULATION

    Supervised estate

    Proving: services that crash get caught and self-heal, and each watchdog names the dated outage that created its guard.

    12/12 running  ·  incidents 0
    watchdog log
    watchdog: all services nominal — supervising.

    Simulation. The real estate runs 43 services and 26 timers unattended on a Raspberry Pi 5, each watchdog named after the outage that created it.

    Mobile & cryptography integrationSIMULATION

    Offline mesh + secure group

    What you are proving: messages hop device-to-device across an offline mesh with no server, and removing a member re-keys the group so they cannot read messages sent afterward.

    Tap a link to connect / disconnect two phones. Tap a phone to choose the sender.

    Group members (tap to remove / re-add)key epoch 0

    Simulation. The encryption engine is OpenMLS (RFC 9420); the author wrote and published the Flutter/Rust bindings on pub.dev. This visualizes the mesh routing and group-membership behavior.

    Selected work — every figure checked against the code

    Loqal — a CRM & communications platform, built solo

    ✓ VERIFIED

    A full customer platform — pipelines, quotes, invoices, subscriptions, tickets, chat and calling — taken from empty repo to running product by one person, backend to browser.

    GoPostgreSQLReact + TypeScriptWebSocketWebRTC
    177 Postgres tables · 368 HTTP routes · 50 migrations ~37,000 lines of Go across 39 handler modules · 33 React/Vite pages live WebSocket chat + browser WebRTC calling · fronted by a Cloudflare zero-trust tunnel

    The report engine — output that can’t make up facts

    ✓ VERIFIED

    A customer-facing report generator where every number and phone must trace to a measured value. Three enforcement layers scan the rendered text; if a single figure isn’t backed by a fact, the report is withheld rather than sent. It defeats comma-grouping and hidden-character tricks used to smuggle fake stats through.

    PythonLLM guardrailsstdlib-onlytestable
    420 lines, standard library only — no external dependency $ python3 -m unittest test_report_engine → 56 checks, all pass 3 gate layers; renderer output is discarded if any gate finds an unbacked claim

    The Door — one send-gate, one tamper-evident ledger

    ✓ VERIFIED

    A single gate that no outbound message can bypass, logging every decision to an append-only, hash-chained ledger. Each row is sealed with the hash of the one before it, so the record can’t be altered after the fact without detection — the auditability that regulated and AI-governance work demands. Built and integrity-verified; it is the enforced path, not yet carrying production send volume.

    PythonSHA-256 chainauditabilitygovernance
    $ ledger.py verify → OK: 81 rows, chain intact real per-row SHA-256 chaining + database-level append-only triggers birth-test suite: 11 / 11 pass · standard library only

    MLS encryption, wired into a phone app

    ✓ VERIFIED

    Published an open-source Rust↔Dart binding that makes real Messaging Layer Security (RFC 9420) group encryption usable from Flutter — including an encrypted-storage layer and a post-quantum key-exchange experiment.

    RustFFIFlutter/Dartcryptographypub.dev
    Honest scope: the encryption engine is the open-source OpenMLS project. My work is the ~8,000 lines of binding and integration around it, published as openmls on pub.dev — integration, not authorship of the protocol.
    published: pub.dev/packages/openmls · v2.0.1 ~6,400 Rust + ~1,500 Dart of hand-written glue · 6 platform targets · CI

    An offline mesh messenger — and the bug that made it interesting

    ✓ VERIFIED

    A ~32,000-line Flutter client that passes end-to-end-encrypted messages peer-to-peer over an offline device mesh. The engineering story is a distributed-systems bug: under a specific race, a group could fork itself. I traced it to dedup-before-compare-and-swap ordering and captured the fix as a named regression test that encodes the exact behavior it must hold.

    Flutter/Dartdistributed systemsiOS MultipeerConnectivityend-to-end encryption
    Honest scope: the ~32k Dart (mesh transport, session orchestration, UI) is mine; the encryption is the OpenMLS binding above. The livelock fix itself lives in a separate relay repo — the test here names the behavior that fix must hold.
    regression test: TestG2_DedupBeforeCAS — a re-posted, superseded commit must be idempotent, not a 409 ~32,000 lines of hand-written Dart · offline peer-to-peer transport over iOS MultipeerConnectivity

    Agents, MCP servers & orchestration

    ✓ VERIFIED

    Several working Model-Context-Protocol servers (browser automation, CRM, content, mail) and a multi-agent orchestration layer that fans work across agents and re-checks their output. The hostile fact-check that verified every number on this page ran on that layer.

    TypeScript/NodeMCPmulti-agentDocker · GitHub Actions
    Honest scope: tool handlers and orchestration are mine, built on the official MCP SDK; heavy lifting (browser, LLM, video) uses vendored libraries. Most run on-demand, not as always-on production services.
    multiple real MCP servers (~3.6k, ~11k, ~1.4k lines) on @modelcontextprotocol/sdk bologne: ~45k lines, ~10 service Dockerfiles, GitHub Actions deploys one service (memory-core) to EC2

    An estate that runs itself on an $80 board

    ✓ VERIFIED

    The whole system runs unattended on a Raspberry Pi 5 — supervised services, kill switches, spend interlocks, and watchdogs whose one rule is that every monitor names the dated outage that created it. Incident → permanent instrumented guard, every time.

    Linux / systemdSRECloudflare tunnelobservability
    $ systemctl list-units --type=service --state=running → 43 53 enabled services · 26 timers · Raspberry Pi 5 watchdogs that each name the dated outage that created them · running unattended for months

    Client engagement — a full online footprint, done with discipline

    ✓ VERIFIED

    Took over the entire online presence of a local business — website, DNS, email deliverability, trust pages — and wrote a launch gate that forbids ad spend until the live site is actually ready to convert. The refusal to spend is the deliverable: no budget burns while the page can’t earn it back.

    FirebaseDNS · SPF/DKIM/DMARCGoogle Adsweb
    Honest scope: client shown anonymized pending permission. No revenue or results are claimed — this is about the engineering and the discipline.
    gate_check.py — tests 7 readiness blockers against the LIVE site; exit code = failures site live (Firebase Hosting) · SPF, DKIM & DMARC verified against DNS · now 6 / 7 gates pass

    How to read this portfolio

    • 1Every number here was checked against the actual source code on 2026-08-20 — tests run, commands executed, lines recounted. If it’s on the page, it survived that check.
    • 2Where something is built on another project’s library, it says so plainly. I wrote the mobile bindings; the encryption itself is the OpenMLS project. The audit tooling is built on Google Lighthouse. Integration is real work — it just isn’t invention, and I won’t claim it is.
    • 3Nothing here claims revenue, customers, or results. It’s a demonstration of engineering and judgment, not a sales sheet. Most of this is solo work; it hasn’t been battle-tested at scale, and I’ll tell you that in the interview too.

    Let’s talk.

    Open to engineering roles and project work — especially applied-AI, guardrails, and full-stack.