I like small tools that do one thing well and then get out of the way. One of mine counts the words in a draft. It is not clever. It simply saves a little friction when I want to know whether a note is still a note or has become an essay.

The script fits on a screen:

from pathlib import Path

draft = Path("today.txt").read_text(encoding="utf-8")
words = draft.split()
print(f"{len(words)} words")

There are better ways to count words, especially across languages. For my own drafts, this is enough. Its real value is not the number; it is that I can finish the task without opening another window.

The best little tool often makes a familiar action feel lighter.

Rules I keep for small tools

  • Write down the problem before writing code.
  • Prefer a clear result over an impressive feature list.
  • Keep the original task possible without the tool.

A little automation is most satisfying when it gives attention back to the work I actually care about.