I recently moved to the UAE from India with my family. The culture shock was expected. The cost-of-living shock? Not so much.
My brain developed this annoying habit: mentally converting every price to INR, then quietly panicking. A coffee that costs what a full meal would back home. Groceries that make you wonder if you accidentally bought the entire store. Money seemed to evaporate the moment it hit my account. I am exaggerating a bit but you get the picture.
The Tracking Problem
To manage expenses (and chase those sweet reward points), I got a couple of credit cards. This, of course, made everything worse. Now instead of one overwhelming statement, I had two.
I started doing what any reasonable person would do: uploading my statements to Claude and asking it to analyze my spending. It worked surprisingly well. Claude would categorize transactions, give me a breakdown, tell me I was spending too much on food delivery (guilty).
But there were problems:
- Each analysis was a point-in-time snapshot
- I couldn’t track trends over months
- Sharing insights with my wife meant copy-pasting walls of text
- I had to explain the same context to Claude every time
Enter SpendSort
So I did what any software engineer with too many side projects would do: I built an app.
The core idea was simple: upload your credit card PDF statements, get categorized insights, and maintain history over time. That last part was key. Some expenses are monthly (groceries, dining). Others are periodic (my kid’s school fees hit three times a year). Without historical context, you can’t see the real picture.
The Engineering Bits
The interesting challenge was parsing PDFs. Every bank has its own idea of what a statement should look like. ADCB formats things differently from WIO, which formats things differently from Emirates Islamic. I built parsers that handle these variations and extract the transaction data reliably.
For categorization, I created a rules database—patterns that match transaction descriptions to categories like “Dining,” “Groceries,” “Subscriptions,” “Travel,” and so on. Claude helped me bootstrap the initial set of rules by analyzing sample transactions. If the system can’t categorize at least 75% of transactions in a statement, it flags it for review instead of giving you garbage insights. Those edge cases help me improve the categorization for everyone.
What You Actually Get
When you upload a statement, SpendSort gives you:
- Category breakdown — See exactly where your money went
- Outstanding balance — Track what you owe across statements
- Historical trends — Compare spending month over month
- Export options — Get your data as JSON for spreadsheets or budgeting apps
The insights page shows you things like “You spent 40% more on dining this month” or helps you spot that subscription you forgot to cancel.
And you can toggle between dark and light themes.

Public Beta
I’m releasing this as a public beta. I have tested this on ADCB, WIO, Emirates Islamic, HDFC, ICICI and several other credit card issuers. The more people use it, the better the categorization becomes—each new transaction pattern helps everyone.
Your statements are processed securely and your data is encrypted. I built this to solve my own problem, not to harvest your financial data.
If you’re tired of credit card anxiety and want to actually understand where your money goes, give it a try:
I’d love feedback. And if your bank’s format isn’t supported yet, let me know—I’ll add it.
Leave a Reply