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.