Demos

Nearly every proposal I write leaves behind a runnable demo, and win or lose, I sanitize it and publish it here. Everything below runs without credentials (with mock modes where needed), and each README states what was measured, which data is synthetic, and what the result does and doesn’t prove. The case studies go deep on a few projects; this page covers more ground.

Industrial

Annotated frame: the detector ignores the glare near the centre and locks onto the fainter real laser dot up-left
What the hard part looks like: the bright white blob near the centre is glare, and a brightest-pixel detector chases it. The real laser dot is the fainter one up and to the left, which is what this detector locks onto (green marker), reading the offset to sub-pixel precision. The image comes from running the repo on synthetic frames. It proves the method against synthetic ground truth; it isn’t field-validated footage.
  • Industrial Data · MQTT

    A Sparkplug B host that doesn’t kill live machines

    There is no maintained open-source Python host application for Sparkplug B, so I wrote one. It matches death certificates by bdSeq rather than timestamp, treats a sequence gap as reordering before it panics, and rate-limits rebirth because one request makes a node retransmit everything. Fourteen scenarios, no broker, about a second. The README also documents four places the 3.0.0 spec contradicts itself.

    GitHub

  • Software ↔ Hardware · Safety

    Command a machine over MQTT, then try to break it

    Every command is classified by what could go wrong (UI-level, won’t move, damages the machine, hurts a person) and has to pass that class’s hard preconditions. Run break_it.py: eleven checks in about a second, nine attempts to make it misbehave and two that confirm an operator can still recover afterwards. Includes an operator HMI and a real MQTT bridge.

    GitHub

  • AI Agents · Governance

    An agent that can propose a payment but never make one

    Run attack_it.py: fifteen attempts to move money that shouldn’t move, including prompt injection, self-approval, an amount swapped after approval, a replayed webhook, and an “anonymised” phone hash brute-forced in 4,568 tries. All fifteen fail in about a second, enforced in CI. Three of them were added after a reviewer broke an earlier version.

    GitHub

  • Software ↔ Hardware

    Short-range depth you can trust: filter, fuse, validate

    RealSense D405 short-range depth: a filter + fusion pipeline with a quantitative accuracy-validation harness. Runs on a synthetic benchmark; plugs into real .bag recordings.

    GitHub

  • Software ↔ Hardware

    Reading a laser point to sub-pixel millimetres

    A laser dot on a target becomes a live, glare-resistant, sub-pixel millimetre offset. A method demo for a camera-based levelling readout, using NumPy and OpenCV, with an honest synthetic benchmark.

    GitHub

  • Systems & Integration

    Silent printing for a browser ERP

    A local bridge that lets a browser-based ERP print PDFs silently to a chosen Windows printer. A zero-dependency Node service with a per-install token and an Origin allowlist. Runs in mock mode on any OS.

    GitHub

Eleven more demos, for other kinds of buyers

Same habit, different buyers: data extraction, payments, marketing ops, route planning. They live down here so the shelf above stays legible. Every one still runs credential-free.

  • Infrastructure I run

    A fleet of MCP servers with no central registry

    One MCP per directory, one port per MCP, discovered by scanning instead of from a list someone has to remember to update. Works across Windows and WSL, binds to loopback by default, enables auth with an environment variable instead of a code change, and documents the three root causes that actually took servers down in production.

  • AI & Data

    Constrained ASR beats a general model in noise: 52% vs 14%

    Closed-vocabulary ASR for German number words: constrained decoding compared with a general model under noise, 52% vs 14% at 5 dB. Vosk and Sherpa-ONNX, running fully on-device.

  • AI & Data

    Regulatory HTML into strictly validated JSON

    Offline-first Python framework parsing government and regulatory HTML into strictly validated JSON. Proven on 233-article statutes with zero warnings.

  • AI & Data

    Floor-plan PDFs into structured data

    Architectural floor-plan PDF → structured JSON/Excel (room stamps, areas, fixtures), with a low-confidence validation layer that flags what a human should check. Layout-aware, German-field sample.

  • AI & Data

    Customer segmentation that survives validation

    Segmentation → personas with validation beyond statistical separation: bootstrap stability, holdout generalization, an external-outcome check, and a 3-gate k selection (silhouette / stability / distinctness).

  • Systems & Integration

    A four-tier embedded payments architecture, simulated

    Multi-tier embedded payments (league → team → player → parent): a technical proposal plus an interactive simulator showing how transactions are tokenized, routed and split across accounts.

  • Systems & Integration

    A private, self-hosted stream between your devices and AI

    A self-hosted, database-free chat stream for moving text and files between PC, phone and AI agents. A single Go binary with token auth, built privacy-first. It’s the worked example behind my note on the outbound boundary.

  • Automation

    Bounce-rate monitoring with a credential-free mock API

    Monitors Klaviyo campaign bounce rates and alerts to Slack: an n8n workflow plus a Python monitor, with a mock Klaviyo API so the whole thing can be demoed without credentials.

  • Automation · Live

    Route optimization you can pan and zoom, live

    Fleet routing with OR-Tools CP-SAT: 20% less mileage on identical stops through district-contiguity constraints. The interactive map is live, so you can open it and follow a single vehicle through its district.

  • Performance & Backend

    1,000 pages: 50 minutes → 2.5

    Fast PDF-to-image rendering (PDFBox) with a custom bounded thread pool, taking roughly 1,000 pages from 50 minutes down to 2.5.

  • Performance & Backend

    A Django slice you can read

    Django 6 slice: a pseudonymous community forum plus a bookable-advisor marketplace. Explicitly a code sample to read, not a claim.

These are capability demos, not client deliveries. Client work is in the case studies, anonymized where contracts require it. If one of these is close to your problem, it’s usually a short step from the demo to a scoped first milestone.