3 min read
Small tools are still products
A script becomes a product the moment another person has to understand what it does, trust its output, and recover when it fails.
Product EngineeringInterfaces
There is a tempting gap between a useful script and a polished application. I used to think crossing that gap mostly meant adding a nicer interface. Now I think the real change is taking responsibility for someone else's uncertainty.
The questions a tool should answer
- What can I give it?
- What is it doing right now?
- Can I trust this result?
- What should I do when something goes wrong?
Progress states, examples, validation, and useful errors are not decoration. They are part of the system's behavior. A small tool that answers these questions can feel more complete than a large app that leaves them ambiguous.