- Client
- Divz
- Role
- Full-Stack Design & Development
- Timeline
- 3 days (MVP)
- Year
- 2025
- Category
- FinTech App
Overview
Divz is “split expenses simply” — Expo 54, Firebase (`divz-7c1b9`), Stripe, associated domain divz.app. Screens: landing, auth, home balances, history, friends, wallet, group detail, settings, admin.
Why
Expense apps were either single-platform, loaded with fees, or so complex that groups abandoned them mid-trip. Divz is a shared ledger for friends: split a bill, settle later, keep history — iOS, Android, and web from one Expo codebase.
Relevant to any consumer fintech MVP that has to feel like a friend product, not a bank. Recorded settle-ups turn “we’ll get you next time” into a balance everyone can see.
The challenge
Expense apps were either single-platform, loaded with fees, or so complex that groups abandoned them mid-trip.
What made it hard
- Existing splitters are platform-specific, fee-heavy, or too complex for a trip.
- Groups needed real-time balances, not a spreadsheet that dies mid-weekend.
- Settling up had to be clear and recorded, not a note in a group chat.
Approach
One React Native codebase for iOS, Android, and web. Firestore for live balances; recorded settle-ups; group detail as the operational screen.
Process
- Group ledger: Balances that update as expenses land.
- Settle: Settle-ups recorded in the ledger so balances stay honest.
- Social graph: Friends, history, and admin for support.
What we built
- Live group balances: Home and group detail stay in sync as people add expenses.
- Flexible splits: Equal, percentage, and custom modes in the product design.
- Settle up: Recorded settle-ups that update every balance. In-app payments are built but switched off.
- Friends + history: People graph and history so the app works past one trip.
How it was built
Expo with a Firestore ledger. Flexible splits, friends, history, and recorded settle-ups. One codebase for iOS, Android, and web; the web build is live at divz.app.
The product is the ledger, not a social feed with a tip jar. Groups, balances, and history have to stay consistent across devices. Firebase is the sync fabric.
Stack
- Expo 54: iOS, Android, web
- Firebase: Auth + Firestore realtime
- Stripe: Payments built, switched off
Outcomes
- 3: Platforms, one Expo codebase
- Realtime: Firestore balances
- Settle: Recorded settle-ups
- Live: divz.app
Wins
- One Expo codebase for iOS, Android, and web.
- Firestore ledger with flexible splits.
- Recorded settle-ups that update every balance.
- Friends and history as first-class surfaces, live at divz.app.
Hard parts
- Abandoned mid-trip: Complex expense apps lose the group. Divz had to stay simple enough to use at dinner.
- Cross-platform: A single-platform splitter splits the friend group too. One codebase was the brief.
- Settlement: Settle-ups had to live in the ledger. In-app payments stay off until the money flow is ready.
Services
- React Native / Expo
- Firebase (Firestore + Auth)
- Flexible Splits
- Real-Time Sync
- Push Notifications