AI Product Engineer β I ship real software with AI in the loop, in the open.
I work where product, engineering, and AI systems meet: AI-assisted delivery, AI agents, automation, developer tooling, testing and evaluation, and the architecture that holds it all together.
- π οΈ Building useful open-source tools.
- π€ AI-assisted engineering β and being honest that it's part of how I work.
- βοΈ Writing clearly about how the work actually gets done.
- π Security research and responsible disclosure.
- delivery-gate β a CLI that gives a hard GO/NO-GO on a release: machine auto-checks plus a human-attested manifest. Enforce.
- hallucination-hunter β detect & score LLM hallucinations by groundedness; runs offline, no API key. Measure.
- ai-delivery-engineering β a playbook for shipping software reliably with AI-assisted workflows. Methodology.
- field-lab β the portfolio hub, live at field-lab.pages.dev.
- openai-build-week-2026 β CONTROL ROOM: directs AI coding agents through a visible Scout β Builder β Verifier chain, gated by human approval at every step. Live demo: control-room-build-week-2026.pages.dev. Submitted to OpenAI Build Week 2026, Education track. Supervise.
Ten languages, ten small apps β one small browser app per language, each README with its tests and limits.
- overprint Β· Rust β WASM β a photo becomes a two-ink riso print. Print.
- sky-report Β· GLSL + TypeScript + Worker β the live sky, ray-marched from an airport's METAR. Render.
- small-print Β· Python Worker β Terms of Service mapped clause by clause, every quote verified. Verify.
- silt Β· Zig β WASM β 10,000 years of rain carving a painted mountain. Simulate.
- tide-table Β· Go β WASM β a cron schedule as a year-long almanac, daylight-saving seams included. Schedule.
- paren Β· ClojureScript β a Lisp expression evaluated one substitution at a time. Step.
- single-track Β· Elm β a single-track timetable puzzle, par proven on plates IβVIII. Solve.
- sideband Β· C β WASM, AudioWorklet β a six-operator FM synth in the audio thread. Play.
- knot Β· TypeScript + Three.js β draw a rope in 3D; it works out which knot you tied. Identify.
- stroke-order Β· Kotlin/JS β write a kanji; order and direction checked stroke by stroke. Write.
- π Website: field-lab.pages.dev
- π Pinned projects below.
Built with AI-assisted engineering. The work is real; the method is part of the point.