jonathan popham · systems & ai engineer
AI output is only useful when someone makes it trustworthy before it ships. That's my lane: memory you own, cores that run airgapped, and verification with the evidence attached. Rust when correctness matters, across the stack when it doesn't.
Real output. A legacy Python payroll program and its Rust rewrite, run over the same frozen corpus and proven behaviorally equivalent. The certificate is deterministic, hash-chained, and replayable by anyone. From Lockstep, below.
current work · the ghostie stack
Small tools that each do one thing well and snap together into a loop. Every public piece is Rust, dependency-free, and gated in CI. The full story lives at /stack.
Runs a program and its rewrite over an explicit corpus, compares them at the observable boundary, and issues a replayable, tamper-evident certificate. Ed25519 signing built in. Names exactly what it could not prove.
Provider-agnostic agent memory in a store you can read and carry. Deterministic recall that explains why each memory surfaced, session capture, git sync, and hooks. What one agent learns, the next already knows.
A behavior-preserving migration orchestrator. It freezes a behavioral contract, drives the candidate through Lockstep, and refuses rather than guess when it cannot verify. The loop closes end to end in public CI.
A dependency-free ontology and knowledge-graph builder with a visual browser GUI on localhost and Neo4j-compatible exports. No cloud, no telemetry, no packages.
The stack's verification discipline packaged for any project: a self-dogfooding CI gate that exercises the product on a real workload with byte-stability and tamper checks. Green on a fresh clone or it doesn't ship.
Why the stack exists, what each piece brings, what's shipped versus in progress, and an honest account of what's proven so far. Stated plainly, evidence linked.
other projects
Your phone becomes a trackpad and dictation mic for a Mac across the room. LAN-only WebSocket bridge, PIN-paired, no cloud, no accounts.
Built while my newborn daughter slept on me after a feed: one hand free, a phone in it, the Mac across the room. Designed, built, and debugged one-handed, using itself.
Turns a job posting link into a self-contained interview-prep course: a company and culture primer plus real, runnable coding exercises per interview stage, grounded in the company's actual product domain.
Watches GitHub issues and production errors, reproduces the failure in a container, and delivers a fix behind guards. Agentic delivery that refuses to ship what it cannot verify.
Open-source Raycast alternative for macOS with zero dependencies: two std-only Rust crates, hand-rolled Objective-C FFI, deterministic integer ranking that learns your habits, clipboard history, window management, menu search, and an any-language plugin protocol over JSON-RPC. 347 tests behind one gate.
writing
I consolidated three connected projects without throwing away their commits, dropped work, tests, architecture, or evidence.
Beckon 0.1.6 fixes unreliable macOS window layouts with verified Accessibility frame writes, deterministic tests, and real hardware round trips.
SQLite beat Kuzu and an LLM baseline in a benchmark for a predictive intent system. The article is about running the test, not the result.
A practical guide to Claude Code skills: what they are, how to write them, where they live, when not to use them, and how to package one as a plugin.
experience
Demo: live architectural graph updates in the VS Code extension, watching the filesystem and updating the map as code changes.
work with me
If your team needs the machine's output made trustworthy before it ships, that's the job I want.