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
Book a call Fractional CTO & applied-AI engineering — the machine running this site is the proof.
What I do
Go · Postgres · React/TS

Full-stack product engineering

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

LLM guardrails

AI output validation

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

Agents · MCP

Agent & MCP engineering

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

Concurrency

Distributed-systems correctness

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

Governance

Auditability & safety systems

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

Reliability

DevOps & unattended ops

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

Rust FFI · Flutter

Mobile & cryptography integration

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

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.

Available for fractional-CTO and applied-AI engineering work — architecture, AI guardrails, and shipping systems you can audit. Also open to engineering roles and project work.