iOS + Android + WebReact NativeExpoTypeScriptSQLiteGoogle Sheets
Split Ledger – Easy Group Expense Splitting
Mobile-first app for tracking group expenses, capturing receipts, and settling debts effortlessly.
Group list screen with balance indicators
Challenge
Managing shared expenses during group trips or events is always a painful problem:
- Entering expenses on Google Sheets via mobile is slow and error-prone
- Receipts and photos are scattered, hard to verify during disputes
- No signal/roaming causes sync interruptions
- End-of-trip settlement is time-consuming and often leads to conflicts
Solution
Built a mobile-first app with offline-first architecture, enabling expense logging in under 10 seconds even without internet. Data is stored locally first, then one-way synced to Google Sheet/Drive when connected. The min-transfers algorithm automatically calculates the optimal payment flow to minimize transactions during settlement.
Key Features
- Quick Expense Entry (under 10 seconds): Optimized VND numpad, one-tap payer and beneficiary selection
- Receipt Capture: Attach photos to expenses, auto-upload to Google Drive
- Smart Settlement: Min-transfers algorithm finds the fewest transactions to balance debts
- Offline-first: Works seamlessly without internet, auto-syncs when connected
- Google Sheet/Drive Sync: Data pushed to Sheets, receipts to Drive folder
- Invite by Code: Generate 6-character code + QR code for friends to join
- Sponsor Support: Track external sponsorship money, excluded from settlement
- Multi-language: Auto-switches between Vietnamese/English based on device locale
- Group Lifecycle: Auto-archive expired groups, settlement reminders
Tech Stack
- Mobile: React Native 0.81+ · Expo 54 · TypeScript (strict) · NativeWind v4
- State: Zustand · react-hook-form + Zod validation
- Database: expo-sqlite · DrizzleORM (type-safe migrations)
- Navigation: expo-router (file-based routing)
- Sync: Google Sheets API · Google Drive API (Direct REST, no SDK)
- Code Quality: Biome (lint/format) · TypeScript strict mode
smartphone
Get the App
Experience native performance.
qr_code_2Scan to Download
Or view in browser
Project Details
RoleSolo Developer
Year2025–2026










