← Back to Insights

Build Story

How I Built MyExpensePal — An AI-First Approach to Personal Finance

14 Jul 2025 · Avtar Khaba · 8 min read

AI DevelopmentBuild StoryMyExpensePalNext.jsClaudeGPT-4

A detailed look at how I designed, built, and shipped a complete expense tracking application using AI tools at every stage — from architecture to deployment.

I spend most of my time advising enterprise teams on AI strategy and governance. But advice without execution has a shelf life. I wanted to prove — to myself and to the clients I work with — that one person armed with modern AI tools could ship a complete, production-grade product. MyExpensePal is that proof.

Why I built it

The motivation was threefold.

First, I wanted to close the gap between advising and doing. It is easy to tell a CTO that AI-first development accelerates delivery. It is harder to show them your own shipped product and walk them through every decision that got it there. I needed something tangible.

Second, I had a genuine personal pain point. The expense tracking apps I had tried fell into two camps: either so simple they were barely more useful than a spreadsheet, or so bloated with features that the daily act of logging a transaction felt like filing a tax return. I wanted something in between — smart enough to be useful, simple enough to actually use every day.

Third, this was an opportunity to stress-test the AI-first methodology I recommend to enterprise clients. Not in a sandbox or a proof of concept, but in a real product with real users and real consequences if the code was poor.

The architecture decisions

I chose Next.js with TypeScript and Tailwind CSS as the foundation. This stack optimises for rapid iteration — server components for performance, TypeScript for catching mistakes early, and Tailwind for moving fast on UI without wrestling with CSS abstractions. When you are a team of one, every decision has to reduce friction.

For data persistence I went with PostgreSQL. It is battle-tested, the tooling is mature, and it handles the relational queries an expense tracker needs without any gymnastics. I evaluated lighter alternatives, but the AI tools I was working with — Claude in particular — helped me think through the trade-offs in hours rather than the weeks it might have taken to research, prototype, and compare on my own. We mapped out query patterns, projected data volumes, and evaluated indexing strategies in a single extended conversation.

Deployment sits on Vercel. Zero-ops overhead means I spend my time on the product, not on infrastructure. For a solo builder, that distinction is everything.

AI-paired development in practice

This is the part people get wrong when they hear "built with AI." I did not paste a prompt into ChatGPT and receive a working application. That is not how this works.

I used Claude and GPT-4 as coding partners. The dynamic is closer to pair programming than code generation. I would describe what I needed, the AI would propose an approach, and then we would iterate. I reviewed every line. I questioned architectural choices. I pushed back when something felt over-engineered or when an edge case was missed.

Specific examples help illustrate this. When designing the database schema, Claude proposed a normalised structure for transactions, categories, and budgets. I challenged it on the category hierarchy — the initial proposal was too rigid for how people actually think about spending. We went back and forth three times before landing on a flexible tagging model that felt right.

For API routes, AI wrote the initial CRUD operations in minutes. But the real value came in the review-refine loop. GPT-4 suggested edge cases I had not considered — what happens when a user deletes a category that has existing transactions? What about concurrent edits from multiple devices? These are the kinds of questions a good team member raises in a code review, and the AI raised them consistently.

Where AI excelled: boilerplate generation, pattern implementation, writing test scaffolds, and producing first drafts of repetitive code. Where it did not: nuanced UX decisions, business logic that required understanding how real people interact with money, and the subtle prioritisation calls that determine whether a feature ships this week or next month. Those still need a human with context and judgement.

Intelligent features powered by AI

MyExpensePal is not just built with AI — it uses AI to deliver features that would be impractical for a solo developer to build from scratch.

Smart transaction categorisation analyses descriptions and amounts to automatically assign categories. Instead of manually tagging every coffee or grocery run, the system learns from your patterns and handles it. It is not perfect — nothing is — but it reduces the friction of daily logging significantly.

Spending pattern analysis surfaces insights that go beyond simple totals. It identifies trends, flags unusual spending, and provides context that helps users make informed decisions without needing to build their own spreadsheet dashboards.

Natural language queries let users ask questions about their own data in plain English. "How much did I spend on eating out last month?" returns a real answer, not a filtered table. This is the kind of feature that demonstrates why AI belongs in the product, not just in the development process.

What I learned

AI accelerates the eighty percent of work that is well-understood — the patterns, the boilerplate, the standard implementations. The remaining twenty percent still requires human judgement, and that twenty percent is where the product is actually defined.

One person with AI tools can genuinely replace a small team for product development. Not a large team, and not for every product. But for a well-scoped application with clear requirements, the productivity gain is real and substantial.

The governance and quality mindset I bring from enterprise work made me a better AI-assisted builder. I reviewed AI-generated code with the same rigour I would apply to a junior developer's pull request. I wrote tests. I documented decisions. The discipline matters more, not less, when the code is coming faster.

This is exactly the approach I bring to enterprise engagements — but now I have my own product as proof. When I tell a leadership team that AI-first development works, I can show them the application, walk them through the commit history, and explain every trade-off.

Try it yourself

MyExpensePal is live at myexpensepal.com. It is free to use and I am actively iterating on it based on user feedback.

If you want to discuss the approach — whether you are building your own product or evaluating AI-first development for your organisation — get in touch. I am always happy to walk through the specifics.