Mr. Splitter
Bill splitting · LINE LIFF × PWA
Stop chasing people for money — from LINE group chat to settled, in one flow
Group trips, dinners, and shared bookings always leave the same headache: who paid what, and who still owes whom. Most bill-splitting apps are either too bloated or too niche for anyone to bother installing. Mr. Splitter aims to eliminate that friction — run it straight from LINE, no install required.
Frontend on Next.js 15 + LINE LIFF — members open the splitter from the chat with zero install. Backend is FastAPI (Python) with Supabase (PostgreSQL) for data; both frontend and backend run on GCP. Settlement uses a greedy minimum-transaction algorithm. OpenAI and Google Gemini add natural-language expense entry and AI-generated group images.
Add a bill, invite members, log expenses, get per-person totals in one tap
From creating a bill to seeing per-person totals takes just a few taps. Supports equal split or custom amounts. All expense items are listed clearly, and members can check progress anytime inside the LINE chat — no app switching needed.
LINE LIFF vs standalone app
LINE has over 20M MAU in Taiwan. Asking users to install another app in a group context halves conversion. LIFF keeps the experience inside LINE — users never leave the chat to complete the full split flow.
Minimum-transactions split algorithm
Naively "everyone pays the payer" is simple but generates too many transfers. A greedy strategy sorts net balances and matches the biggest debtor to the biggest creditor each round, reaching the theoretical minimum number of transactions.
PWA as fallback channel
For non-LINE users or desktop scenarios, the PWA offers an 'add to home screen' experience with offline-cached core pages. Mr. Splitter isn't LINE-only.
Algorithm does the math; mark settled and LINE notifies everyone
The settlement screen compresses N-way debt into the minimum number of transfers and shows exactly who pays whom. Once a transfer is done, mark it settled in the app and LINE automatically notifies the recipient — no screenshots or manual tracking.
Say it to log it — AI also generates a cover image for your group
The group detail page has an AI floating input: type "hot pot NT$1,200, Hua paid, split 4 ways" and OpenAI parses the amount, payer and split automatically. Gemini also generates a custom cover image for each group based on its name and context — so every bill book has its own identity.
OpenAI parsing vs form input
Natural-language entry saves 3–5 steps versus a form. The parsed result still surfaces in the form for confirmation before saving — so a bad parse never silently corrupts data.
Google Gemini for group image generation
Each group can have an AI-generated cover image, making it immediately recognisable in the list. Images are stored in Supabase Storage and only generated once.
What this build would use
- Next.js 15
- FastAPI (Python)
- Supabase (PostgreSQL)
- LINE LIFF SDK
- OpenAI API
- Google Gemini
- Google Analytics
- GA4
- GCP
- PWA / Service Worker
