The Application Candidate: Personal Ledger
A few years ago (2021) I went through a significant life change and realized I didn’t actually know how to manage my own finances. (Side note: don’t be like me—get a handle on your finances before your mid-40s.) All of a sudden I needed to do basic things like set up a budget. I tried a few online tools / apps, but they were of limited value because I simply didn't have much historical data. Or to put it another way—I had plenty of financial history, but no access to it (don’t ask). I decided that was a skill that needed immediate development, so I went old school and did everything manually, and I still use this process today. I have a spreadsheet (simple named Ledger) in which I record every financial transaction in each of my accounts: checking/savings/credit cards. A few times each week, I log in to each institutions website and manually enter these transactions in my ledger. That may seem silly today, considering all apps and integrations available (I do miss Mint). But I prefer this method—it gives me oversight into every single transaction in all of my accounts, and I am able to categorize transactions as I see fit. The latter point is really important to me - I've had no end of issues apps assigning incorrect categories to transactions and not respecting or remembering manual classification. This process works for me. It gives me the warm fuzzies in terms of visibility and control, and only takes a few minutes of my time each week. Existing Software While this process is entirely manual, I've written some software. One of the first things I did was to define a schema for a postgres database in which I would import the data and create custom queries/run reports. I then wrote a simple command line program in rust to import CSV files into the database. After I had a year's worth of data, I was able to gain some insights into my own spending, based on my own categorization. Compared to what I was getting out of Mint at the time, I felt it was more accurate. Next Steps: Frontend or Backend? After I decided to get my hands dirty with code again, I considered my personal ledger. I have virtually no front-end experience (beyond 15 year old stale knowledge of html/css) , so I thought this would be an opportunity to learn some of those skills. In other words, why not create a front end? After that decision was made, the next question was obvious - what was going to power that front end? I have a database and the ability to import data into that database; if I have a front end, I'd need a backend too. So before I even started on the front end, I started throwing together a little service with a REST api implemented in Kotlin (I have had a love affair with Kotlin for years). Iteration 1 - Simple SPA I went down the backend / Kotlin rabbit hole for a few hours before I decided I was overcomplicating things. If I really wanted to learn the front end, I didn't need a backend. I could do everything in local storage. All of the business rules could be implemented in the app itself. Since I'm doing this as a learning exercise, I don't need things like authentication or even to integrate with any external services; i.e., it could be entirely self contained and run from the dev environment. So that's the next step - to get a dead simple SPA up and running. I don't really care about the polish or even if it has too many bugs; I just want to reach a point where I understand the code flows—and explore supplementary topics like the build chain. How Much API for this iteration? As I indicated in my previous post, this series is really about capturing my experience using AI tools to assist in coding. I briefly considered jumping into the vibe coding game, exploring tools like Cursor, and possibly generating the code entirely through AI. I think that will be my ultimate goal, but for now I'm going to take a more conservative approach. I am going to describe my vision for the app to an LLM (still deciding on which), define the domain model and business rules, and document my experience with what I got out of that approach. Wrapping Up This is just the beginning of my journey to modernize my manual workflow and learn new tools along the way. The plan is to keep things lightweight, stay focused on learning, and let the application evolve organically. I’ll share what works, what doesn’t, and how AI tools influence the process—whether they streamline development or introduce new challenges. If you’ve ever thought about turning a personal spreadsheet into a living app, or are just curious how far you can get with a little AI help and a lot of curiosity, I hope you’ll follow along.

A few years ago (2021) I went through a significant life change and realized I didn’t actually know how to manage my own finances. (Side note: don’t be like me—get a handle on your finances before your mid-40s.) All of a sudden I needed to do basic things like set up a budget. I tried a few online tools / apps, but they were of limited value because I simply didn't have much historical data. Or to put it another way—I had plenty of financial history, but no access to it (don’t ask).
I decided that was a skill that needed immediate development, so I went old school and did everything manually, and I still use this process today. I have a spreadsheet (simple named Ledger) in which I record every financial transaction in each of my accounts: checking/savings/credit cards. A few times each week, I log in to each institutions website and manually enter these transactions in my ledger. That may seem silly today, considering all apps and integrations available (I do miss Mint). But I prefer this method—it gives me oversight into every single transaction in all of my accounts, and I am able to categorize transactions as I see fit. The latter point is really important to me - I've had no end of issues apps assigning incorrect categories to transactions and not respecting or remembering manual classification.
This process works for me. It gives me the warm fuzzies in terms of visibility and control, and only takes a few minutes of my time each week.
Existing Software
While this process is entirely manual, I've written some software. One of the first things I did was to define a schema for a postgres database in which I would import the data and create custom queries/run reports. I then wrote a simple command line program in rust to import CSV files into the database. After I had a year's worth of data, I was able to gain some insights into my own spending, based on my own categorization. Compared to what I was getting out of Mint at the time, I felt it was more accurate.
Next Steps: Frontend or Backend?
After I decided to get my hands dirty with code again, I considered my personal ledger. I have virtually no front-end experience (beyond 15 year old stale knowledge of html/css) , so I thought this would be an opportunity to learn some of those skills. In other words, why not create a front end? After that decision was made, the next question was obvious - what was going to power that front end? I have a database and the ability to import data into that database; if I have a front end, I'd need a backend too. So before I even started on the front end, I started throwing together a little service with a REST api implemented in Kotlin (I have had a love affair with Kotlin for years).
Iteration 1 - Simple SPA
I went down the backend / Kotlin rabbit hole for a few hours before I decided I was overcomplicating things. If I really wanted to learn the front end, I didn't need a backend. I could do everything in local storage. All of the business rules could be implemented in the app itself. Since I'm doing this as a learning exercise, I don't need things like authentication or even to integrate with any external services; i.e., it could be entirely self contained and run from the dev environment. So that's the next step - to get a dead simple SPA up and running. I don't really care about the polish or even if it has too many bugs; I just want to reach a point where I understand the code flows—and explore supplementary topics like the build chain.
How Much API for this iteration?
As I indicated in my previous post, this series is really about capturing my experience using AI tools to assist in coding. I briefly considered jumping into the vibe coding game, exploring tools like Cursor, and possibly generating the code entirely through AI. I think that will be my ultimate goal, but for now I'm going to take a more conservative approach. I am going to describe my vision for the app to an LLM (still deciding on which), define the domain model and business rules, and document my experience with what I got out of that approach.
Wrapping Up
This is just the beginning of my journey to modernize my manual workflow and learn new tools along the way. The plan is to keep things lightweight, stay focused on learning, and let the application evolve organically. I’ll share what works, what doesn’t, and how AI tools influence the process—whether they streamline development or introduce new challenges. If you’ve ever thought about turning a personal spreadsheet into a living app, or are just curious how far you can get with a little AI help and a lot of curiosity, I hope you’ll follow along.