Inspiration

Managing personal finances is messy. Most apps categorize transactions statically, which rarely matches how I think about my spending. I wanted a system that adapts dynamically to my own rules.

What it does

Smart Transaction Categorizer lets users create custom rules to automatically re-label transactions. For example: “If it’s Saturday, at Walmart, under $80 → Hardware.” It instantly organizes your spending exactly the way you want.

How we built it

I used Bun for a lightweight backend, local storage to store transactions and rules, and React + Tailwind for a responsive frontend. The backend applies rules to transactions dynamically, and the UI updates instantly when rules change. I am using Gemini for natural-language-to-DSL translation. I am using OpenAI's whisper model for audio transcription.

Challenges we ran into

  • Designing a flexible rule engine that supports multiple conditions (merchant, day, amount, account).
  • Handling rule conflicts and ensuring transactions update correctly in real time.
  • OpenAI and Gemini integration

Accomplishments that we're proud of

  • Built a fully working dynamic categorization system
  • Users can create, edit, and delete rules, and see transaction categories update instantly.
  • Developed a rule engine that can handle AND/OR conditions and multiple criteria.

What we learned

  • How to structure a dynamic rule engine and DSL.

What's next for transaction categorizer

  • Expand the Engine

Built With

Share this project:

Updates