Projects
Every project, grouped by where it stands. Each one started with something missing; the line in italics says what.
In use
-
Agentic workflow toolkit
When I hand work to a coding agent, a lot happens that I can't see, and I can only steer what I can see.
Configurations and tools that support how I work with coding agents, including a status bar for usage, cost, and context, and a runner that works through a queue while I'm away.
Made of JavaScript.
-
astro-forge
Each site I built relearned the same practices, and the ones I didn't write down got lost.
Made of TypeScript.
-
Cabinet planter
I wanted a planter that hangs on the side of one particular cabinet and lifts off to water.
Made of laser-cut sheet.
-
FileFloat
Getting back to a recent file meant opening Finder, finding the folder, and sorting by date, when it should take one click.
Made of Rust and TypeScript.
-
Good Tools
Each small generator I built for a job lived in a chat link that wouldn't last.
Made of TypeScript.
-
Logo puzzle
-
Loudoun Bees
The land needed more pollination, and honeybees could give it.
Made of bees.
-
parts-as-code
A render can look perfect while a bolt hole is secretly a blind pocket, so I wanted every part checked inside before it prints.
Made of Python and printed plastic.
-
Rustling Garden
In a big nursery there was no way to look up a plant and walk straight to the greenhouse it's in.
Made of TypeScript.
-
Wood boiler priority relay
I wanted the house to heat from the wood boiler whenever it's hot, before the heat pump runs.
Made of hydronics.
In beta
In progress
-
Bee hut
I wanted somewhere to sit and rest beside working hives, with only a screen between a guest and the bees.
37 drawing sheets at revision 15, every one generated from a single set of dimensions.
-
gitops-lab
I hadn't run Kubernetes or GitOps myself, so I'm building a small pipeline on a home cluster to learn them.
Made of Go and Kubernetes.
-
Self-watering moss pole
I wanted a moss pole that waters itself and grows by twisting on another section.
Made of Python and printed plastic.
Resting
-
auction-archiver
An online auction catalog is almost impossible to bookmark, compare, or analyze in bulk, so I wanted each one as a dataset on my own machine.
Made of Python.