Projects
Things I build while writing and teaching about AI-assisted development. Each one sits on both sides of the work: shipping the thing and explaining it. The tags flag what each project is about; the smaller chips are the tech behind it.
Tilth
Active-DevelopmentA harness for long-running agents that work autonomously, then let you replay the whole run.
A minimal harness for autonomous coding agents against any OpenAI-compatible endpoint. It carries the machinery a watched pair-programming agent can skip: an evaluator that judges whether a change is a proper solution, between-task budget caps, and offline-first observability you can replay end to end.
LSP4Agents
Active-DevelopmentA language-server client built for coding agents, not IDEs.
An experiment in giving coding agents the structured tools developers rely on: go to definition, find references, real type errors. Existing LSP integrations assume an IDE on the other end, so this explores what a client designed for an agent's workflow looks like.
knobs.cc
A desktop inspector for every knob Claude Code gives you: where it lives, what it's set to, and which layer wins.
Claude Code's configuration spans settings files at several layers, environment variables, and permissions. knobs.cc is a local desktop app that surfaces every setting, its value, and which layer takes precedence.
Claude Code Plugins
A marketplace of Claude Code plugins for AI-assisted development.
A growing collection of Claude Code plugins built at Altered Craft, installable straight from the marketplace. Small, reusable tooling that extends Claude Code for everyday work.
RAG Lab
An educational chat and RAG app for exploring retrieval patterns hands-on.
A teaching app that demonstrates a streaming chat interface over LLMs with retrieval-augmented generation. Flask backend, OpenRouter for model access, and a vanilla JavaScript front end. Cross-platform, and used as workshop material.