essays

The Quiet Architecture of Slow Tools

On software that respects time, attention, and the people who use it.

There is a kind of software that you only notice in its absence. It does not buzz, does not nudge, does not demand. You open it, you do your work, and you close it again. Days pass. It waits.

We have built an entire industry around the opposite — software that craves attention, that measures success in dwell time, that gamifies your relationship with a glowing rectangle. The slow tool is the dissident, the holdout, the principled refusal.

What slow looks like

A slow tool does fewer things, but does them with care. It opens fast. It saves your work without ceremony. It does not ship features for the sake of changelog optics. When you return to it months later, it is exactly where you left it.

The text editors I love — vim, acme, the original BBEdit — share this property. Their authors had taste. They knew when to stop.

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. Antoine de Saint-Exupéry

A small list

What slow tools tend to have in common:

  • Restraint in feature scope.
  • Stability of interface — your muscle memory survives years.
  • Plain formats — your data outlives the software.
  • Local-first — they work offline, on a plane, in a basement.
  • A maintainer (or small team) with opinions and a long horizon.

Code that breathes

// A slow function: does one thing, does it slowly enough to read.
export function pangu(s: string): string {
  return s
    .replace(/([一-龥])([A-Za-z0-9])/g, '$1 $2')
    .replace(/([A-Za-z0-9])([一-龥])/g, '$1 $2');
}

A function this small reads like a haiku. There is no defensive null check, no telemetry hook, no feature flag. It is a thing that does a thing.

Why bother

Because attention is the only finite resource we have. Because software that demands it back without giving anything in return is a kind of theft. Because there is dignity in tools that let you finish your work and walk away.

This blog is a slow tool. I hope it stays that way.