Notes on small tools
A few thoughts on the kind of personal software that keeps earning its place.
The tools I keep using rarely announce themselves as platforms.
They are smaller than that. A script that saves ten clicks. A window that stays out of the way. A local service that understands the room it is running in. The useful ones tend to have a strange quality: they do less than they could, but the part they do is shaped enough that it keeps surviving.
That is the bar I like for personal software. Not impressive in the demo sense. Durable in the Tuesday afternoon sense.
The gravity of keeping it simple
Most software wants to expand.
It starts with a sharp need, then grows accounts, sync, sharing, roles, analytics, onboarding, notifications, pricing, and settings for settings. Sometimes that is the right path. Most of the time, for tools I build for myself, it is a tax.
The better question is not “what else can this become?” It is “what does this need to remain?”
Local is underrated
Local software has a different texture. It can assume proximity. It can be fast without pretending. It can use the network, the file system, and the machine without turning every action into a cloud event.
That does not make local-first software morally superior. It just makes it honest for a certain class of work. If the problem is inside the room, the solution should not always begin outside it.
Taste shows up in constraints
The parts that make a tool worth keeping are usually not the headline features.
They are the defaults, the escape hatches, the names of things, the refusal to add a screen, the command that still works six months later, the absence of an account when an account would only make the product look more serious.
That is the kind of software I want more of. Small enough to understand. Useful enough to keep.