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
- bun
- gemini
- openai
- react
- typescript
- vite

Log in or sign up for Devpost to join the conversation.