Baker Street
An agent application I run on the lab's always-on Apple Silicon node. It has limited tool access, explicit rules for context, and full logs of each run.
TypeScript · operated in my lab
Not yet public
Services
I work with founders and engineering leaders to figure out what they need, design the system, and get it built. I write software as well as make architecture decisions and lead delivery.
I start with what the agent needs to do and where it could fail. Then I define its responsibilities, limit the tools and data it can access, and make sure you can see what it did.
An agent application I run on the lab's always-on Apple Silicon node. It has limited tool access, explicit rules for context, and full logs of each run.
TypeScript · operated in my lab
Not yet public
I work out the requirements and architecture, put the tasks in order, and direct implementation and review. AI speeds up the coding. I'm responsible for deciding what's in scope, which tradeoffs to make, and how we'll check the result.
A chess opening trainer I built with AI agents. I designed and directed the process, starting with requirements and a plan, then overseeing implementation and verification. The repo includes the plans, agent run records, reviews, and postmortem with the code.
TypeScript · 86 tests in CI
View on GitHub
A typed, append-only event log and resume system for Claude Code. I made evidence a requirement: when it reports work as complete, it must include a commit SHA or test exit code so the claim can be checked.
TypeScript · prose drifts, schemas don't
View on GitHub
Reusable AI coding skills based on how I work through requirements, planning, implementation, and review. I maintain one set of instructions for Claude Code, Copilot, Codex, and Kimi.
Shell · methodology library
View on GitHub
I work out how models and tools should access data, which parts run locally, and which need a service. Answers need to stay linked to their sources. You can see those choices in the retrieval projects below.
A personal knowledge base that captures notes locally and searches a Markdown vault with hybrid search. It answers questions with citations. Capture is local Markdown; the server pairs a Qdrant index with hosted Voyage AI embeddings and reranking and an OpenAI-compatible answer model such as oMLX.
Python · cited answers
View on GitHub
Ask questions about a folder of Markdown, PDF, or DOCX files without building an index first. This retrieval-augmented generation (RAG) tool returns answers linked to their sources, or raw chunks as JSON for an agent to use.
Rust · 101 tests in CI
View on GitHub
Before changing a system, I establish which behavior needs to stay the same and test the assumptions in the code. I use independent checks and review gates, with clear criteria for accepting the work, to help decide whether to release or rebuild it.
A static-analysis tool that measures code health with nine complexity metrics. I tested the algorithms against independent implementations as well as unit tests, property-based invariants, and adversarial parser fixtures. The checks found three bugs the original expectations missed.
Python · independent checks
View on GitHub
I audited a 2016 Go rules engine and expanded its tests to understand its behavior before rebuilding it in Rust. The rebuild fixes 12+ audited bugs and adds 15 operators.
Go → Rust · 124 and 121 tests in CI
View on GitHub
Ways to work together
I take on a defined project: work out the requirements and architecture, build and test the software, then hand it over with what you need to operate it.
I join your team as a hands-on engineering lead, working through architecture questions and building the system with your engineers to help get it delivered.
For teams that already have engineers, I offer fractional CTO advice on architecture, whether to build or buy, and how to plan delivery.
I use TypeScript, Python, Rust, Go, and Swift, with both hosted and local models. I choose based on what the system needs, where it will run, and who will maintain it.