Hi HN,
I built this because I was tired of manually cleaning bank exports every month.
It’s file-based (no Open Banking integrations), idempotent, and keeps everything transparent in Google Sheets.
Happy to answer technical questions about parsing, recurring detection, or the overall architecture.
I'm not sure which is more hilarious, calling Google docs "a format you fully control" or referring to a process that relies on Google docs and either OpenAI or Gemini "local".
By “fully control” I meant that the data ends up in a user-owned spreadsheet that you can export any time, rather than being locked inside a proprietary fintech platform.
And you’re right: it’s not strictly “local” if you use OpenAI or Gemini. The core pipeline runs locally (parsing/normalization/dedup) and doesn’t require Open Banking or any server-side infra, while categorization can be cloud-based depending on configuration.
I’ve updated the README to make this distinction explicit, and I’m also exploring a lightweight local categorizer for a fully offline setup.
3 comments
[ 2.8 ms ] story [ 18.6 ms ] threadBy “fully control” I meant that the data ends up in a user-owned spreadsheet that you can export any time, rather than being locked inside a proprietary fintech platform. And you’re right: it’s not strictly “local” if you use OpenAI or Gemini. The core pipeline runs locally (parsing/normalization/dedup) and doesn’t require Open Banking or any server-side infra, while categorization can be cloud-based depending on configuration. I’ve updated the README to make this distinction explicit, and I’m also exploring a lightweight local categorizer for a fully offline setup.
Thanks for the comment.