-
Teaching the App to Categorize Transactions

The whole reason I built this tool is that I was tired of writing categorization rules that broke every time my bank reformatted a description. This post covers how I replaced that with a vector similarity search using transformer embeddings, where the system learns from what you’ve already categorized rather than from rules you have to maintain. The approach…
-
Building My Own Personal Finance App From Scratch (With AI Help)

TL;DR: I got tired of manually categorizing transactions in Firefly III and wanted a FIRE dashboard that doesn’t require three clicks to find. So I built my own finance tool from scratch, using Claude Code as my primary development method. This series documents what happened, the things that worked surprisingly well, and the things that went sideways. The Moment It Started…
-
Triple Legacy Migration

TL;DR In this post, I describe tackling a complex triple migration of a large legacy system: upgrading outdated Spring versions, replacing WebSphere with Tomcat, and moving from on-premises servers to a private cloud solution. Despite technical obstacles around transaction management and knowledge gaps, we successfully migrated the million-line codebase while active development continued. The key…
-
AI Pair Programming: Navigating the Hype and Reality

TL;DR In this exploration of AI-powered development, I leveraged Aider with Claude as a pair programming assistant to build a transaction categorizer. Despite the iterative process involving occasional slowdowns and needed refinements, the collaboration yielded surprisingly robust results. By containerizing Aider and integrating the Anthropic API, I developed a sophisticated tool with capabilities that would…
-
Categorizing Transactions with Machine Learning and rules

In this post, I’ll demonstrate how combining rules-based systems with machine learning — specifically Random Forest — can significantly improve transaction categorization, particularly for incidental and non-recurring cases. This hybrid approach not only reduces manual efforts but also improves accuracy, helping me make better financial decisions with minimal intervention.
