This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built SplitMate AI, an AI-powered expense splitting assistant designed for my friends who live together.
The idea came from a simple problem I saw regularly. When my friends share expenses for dinners, parties, groceries, and Uber rides, they usually send messages in WhatsApp like
Kasun paid 4500 LKR for dinner with Hasaru and Dhamith
3000 (Sidath,Dhamith)
Uber 1200 Kasun
At the end of the week or month, they manually check messages, write calculations on paper, and try to figure out who owes whom.
SplitMate AI turns these casual WhatsApp-style messages into structured expenses automatically.
It can understand messages, identify
- who paid
- total amount
- participants
- how much each person owes
Then it calculates the simplest way to settle balances between friends.
I built this specifically for my friends who live together because I wanted to solve a small but annoying daily problem they actually experience.
Demo
Code
GitHub Repository
Tech stack
- Next.js 16 (App Router)
- TypeScript
- Supabase
- PostgreSQL
- Ollama
- Gemma 3 4B
- Tailwind CSS
- Zod validation
How I Built It
The core of SplitMate AI is built around open-source AI running locally.
I used
- Local AI Model (Gemma 3 4B through Ollama)
Instead of depending on a closed AI API, the model runs locally on my machine.
The expense parsing pipeline works like this
WhatsApp-style message
↓
Quick rule-based parser
↓
Local Gemma 3 4B model
↓
Structured JSON expense data
↓
Expense calculation engine
↓
Supabase database
For common formats like
3000 (Sidath,Dhamith)
the application uses fast deterministic parsing.
For more flexible messages like
Kasun paid 4500 LKR for dinner with Hasaru and Dhamith
the local AI model extracts the required information.
The AI output is validated using schemas and additional safety checks to prevent incorrect participants or calculations.
Why Does Open Innovation Matter?
Open source AI made this project possible in ways that a closed API would not.
Privacy
Expense information is personal. Running the AI locally means messages do not need to be sent to an external AI provider.
Cost
A friend group should not need to pay for an AI API just to split dinner bills.
Local inference makes the running cost almost zero.
Flexibility
Because the model is open and locally controlled, developers can:
- replace the model
- improve prompts
- add custom rules
- adapt the system for different communities
For this project, open AI was not just a cheaper alternative. It allowed me to build a tool around my friends' real communication style.
My Agent Session
I used DevRelay during development to help manage the AI-assisted development workflow.
The development process included
- designing the database schema
- implementing Supabase RLS security
- creating the AI parsing pipeline
- debugging local model behavior
- improving expense calculation logic
Prize Categories
I am entering
- Overall Hacktoberfest Weekend Challenge: Build for a Friend
Thank you for organizing Hacktoberfest 2026.
This project started from a small problem between friends, but it showed me how open-source AI can help developers build useful tools for real people.











Top comments (0)