I spent a weekend building a tiny script that did one thing: rename downloaded bank statements into a format I could actually search.
The useful part was not the script. The useful part was noticing how many small chores had become permanent background noise.
What made it work
The first version was deliberately boring:
- Read filenames from a folder.
- Extract the date and account name.
- Print the proposed rename.
- Ask before touching anything.
That last step mattered. A tool that makes me nervous does not become part of my routine.
The interface
The whole thing eventually felt like this:
2024-01-31_statement.pdf
-> 2024-01-31 checking.pdf
Apply rename? [y/N]
No dashboard. No database. No abstraction named DocumentLifecycleManager.
A small tool earns trust by being easy to inspect.
The script is still not general. It handles my bank, my folder structure, and my naming convention. That is why it gets used.
What I would change
I would keep a dry-run mode forever. I would also write the log before renaming anything, because future me will eventually ask, “what happened to that file?”