Materials
Every project by what it's made of. Code and wood are peers here.
Kotlin
Rust
-
FileFloat
Getting back to a recent file meant opening Finder, finding the folder, and sorting by date, when it should take one click.
In use. Made of Rust and TypeScript.
TypeScript
-
astro-forge
Each site I built relearned the same practices, and the ones I didn't write down got lost.
In use. Made of TypeScript.
-
FileFloat
Getting back to a recent file meant opening Finder, finding the folder, and sorting by date, when it should take one click.
In use. Made of Rust and TypeScript.
-
Good Tools
Each small generator I built for a job lived in a chat link that wouldn't last.
In use. Made of TypeScript.
-
Rustling Garden
In a big nursery there was no way to look up a plant and walk straight to the greenhouse it's in.
In use. Made of TypeScript.
JavaScript
-
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.
In use. Made of JavaScript.
Python
-
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.
Resting. Made of Python.
-
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.
-
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.
In use. Made of Python and printed plastic.
-
Self-watering moss pole
I wanted a moss pole that waters itself and grows by twisting on another section.
In progress. Made of Python and printed plastic.
Go
-
gitops-lab
I hadn't run Kubernetes or GitOps myself, so I'm building a small pipeline on a home cluster to learn them.
In progress. Made of Go and Kubernetes.
Kubernetes
-
gitops-lab
I hadn't run Kubernetes or GitOps myself, so I'm building a small pipeline on a home cluster to learn them.
In progress. Made of Go and Kubernetes.
Printed plastic
-
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.
In use. Made of Python and printed plastic.
-
Self-watering moss pole
I wanted a moss pole that waters itself and grows by twisting on another section.
In progress. Made of Python and printed plastic.
Laser-cut sheet
-
Cabinet planter
I wanted a planter that hangs on the side of one particular cabinet and lifts off to water.
In use. Made of laser-cut sheet.
-
Logo puzzle
Lumber
-
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.
Hydronics
-
Wood boiler priority relay
I wanted the house to heat from the wood boiler whenever it's hot, before the heat pump runs.
In use. Made of hydronics.