Pro · /uses
What I build with
The setup behind the projects — chosen for longevity, not novelty.
Editor & terminal
Where the actual time goes. Kept deliberately plain — fewer plugins, fewer surprises.
- Neovim
A lean config I can rebuild from memory. LSP for Go, treesitter, almost nothing else.
- Ghostty
Fast, GPU-accelerated, no config rabbit hole. Replaced three terminals I used to fuss over.
- tmux
One session per project, panes for editor / tests / logs. Survives every disconnect.
- fish + fzf
Sensible defaults out of the box; fzf for history and file jumping. No 400-line dotfile.
Languages & tooling
Most projects here are Go. The boring choice keeps being the right one.
- Go
Fast compiles, one binary to ship, a standard library that ages well. The default for anything serious.
- Postgres
The database I reach for before I reach for anything else — including, often, a queue or a cache.
- SQLite
For single-file tools (Taskline, NoteVault). Ships inside the binary; backups are a file copy.
- HTMX + templ
When a project needs a UI but not a framework. Server-rendered, typed templates, almost no JS.
Infrastructure & hosting
Small projects, small bills. I optimise for "still running in three years", not scale.
- Hetzner
A €5 box runs more side projects than it has any right to. Cheap, fast, European.
- Docker Compose
Each project is one compose file. No Kubernetes until something actually needs it (nothing has).
- Caddy
Automatic HTTPS, a two-line config per site. The reverse proxy I stopped thinking about.
- Litestream
Streams SQLite to object storage continuously. Disaster recovery for the price of a bucket.
Hardware
Nothing exotic. The setup is forgettable on purpose — it gets out of the way.
- MacBook Air (M2)
Silent, all-day battery, compiles Go faster than machines twice its price. Travels everywhere.
- A single 27" 4K display
One screen, full-screen apps, tmux for the rest. Two monitors only ever split my attention.
- A 60% mechanical board
Tactile, quiet switches. Small enough to throw in a bag for a week of writing in cafés.
Working habits
The non-technical part that actually decides whether a side project ships.
- One project in flight
I finish (or kill) before I start. Half the projects on the home page are "done" precisely because of this.
- A plain-text changelog
Every project keeps a NOTES.md. Future-me always thanks past-me for writing down the why.
- Ship on Fridays
A small release every Friday beats a big one "soon". Momentum compounds; perfectionism does not.
Inspired by uses.tech. The list changes a few times a year — last reviewed April 2026.
See the projects this built →