Building tiny tools
On the quiet leverage of small, sharp software you write for yourself.
I keep a folder called scratch/. It is full of one-file scripts, half-finished experiments, and command-line nonsense that would never survive code review. It is also the most useful folder on my laptop.
There is a particular kind of tool you only build when nobody is watching: the script that renames your screenshots, the alias that opens the right repo at the right line, the tiny dashboard that answers one question really well. None of these are products. All of them are leverage.
Why small
Small tools are honest. They do exactly what they do. They have no settings page, no telemetry, no roadmap. They live or die by whether you reach for them tomorrow. If you do not, you delete them, and that is fine. The cost was thirty minutes and a coffee.
Most software wants to be a platform. Most problems want a one-pager.
A pattern I keep coming back to
Pick a friction you noticed in the last week. Spend less than an hour. Write the dumbest possible version. Use it for a few days. If it sticks, polish a little. If it does not, throw it away with no ceremony.
bash# my favorite shape for these:
#!/usr/bin/env bash
set -euo pipefail
do_one_thing "$@"That is it. That is the whole post. Go build the tiny thing.