DEV Community

Dhamith Kumara
Dhamith Kumara Subscriber

Posted on

I Built an AI Expense Splitter for My Friends Using Local Gemma 3 (No Cloud API Needed)

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
Enter fullscreen mode Exit fullscreen mode

At the end of the week or month, they manually check messages, write calculations on paper, and try to figure out who owes whom.

Manual Calculation

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

  • Login to Account
    Account Login

  • Create New Group
    Create New Group

  • Add Members
    Add Members

  • Generate Invite Link
    Generate Invite Link

  • Create Account Using Invite Link
    Create Account Using Invite Link

  • Import WhatsApp Chat
    Import WhatsApp Chat

  • Select the Date Range
    Select the Date Range

  • Who is Who
    Who is Who

  • Read with AI
    Read with AI

  • Check the Balance
    Check the Balance

Code

GitHub Repository

splitmate-ai

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
Enter fullscreen mode Exit fullscreen mode

For common formats like

3000 (Sidath,Dhamith)
Enter fullscreen mode Exit fullscreen mode

the application uses fast deterministic parsing.

For more flexible messages like

Kasun paid 4500 LKR for dinner with Hasaru and Dhamith
Enter fullscreen mode Exit fullscreen mode

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)