SplitEase is a premium, AI-powered group expense manager for trips, roommates, and everyday hangouts — smart splitting, receipt scanning, real-time group chat, one-tap UPI settlement, and a rewards club, all in one app.
Live screenshots from the Google Play listing
- Why SplitEase
- Features
- How it works
- Elite Club rewards
- Tech stack
- Project structure
- Getting started
- Available scripts
- Building & releasing
- Roadmap
- Contributing
- Support
- License
Splitting bills with friends usually means a messy spreadsheet, a dozen "who owes what" texts, and someone always forgetting to pay up. SplitEase replaces all of that with one clean flow: create a group, log the expense (or just scan the receipt), and let the app work out — and settle — the balances.
Trusted by 10,000+ travelers and live on Google Play as Splitease.
| Feature | Description | |
|---|---|---|
| 🧮 | Smart Split Engine | Split equally, by percentage, by shares, or by exact amount — the math is handled the moment an expense is added. |
| 📸 | AI Receipt Scanner | Snap a photo of any bill. OCR reads every line item, itemizes it, and drops it straight into the group. |
| 💬 | Settle Chat | Group chat and the expense ledger live in the same thread — every bill and payment is part of the conversation, in real time via Socket.IO. |
| ⚡ | Minimum-Transfer Optimizer | Nets every balance in the group and routes the fewest possible payments to settle everyone up. |
| 💳 | One-Tap UPI Settle | Clear debts instantly with UPI. Each settlement is logged and balances reset to zero automatically. |
| 🏆 | Elite Club Rewards | Earn coins by referring friends; unlock badges, custom themes, priority support, and early access to new features. |
| 🔔 | Push Notifications | Real-time alerts for new expenses, chat messages, settlements, and group invites via Firebase Cloud Messaging. |
| 📱 | Home Screen Widget | An Android widget shows live balances — what you owe and what's owed to you — without opening the app. |
| 🎨 | Custom Themes | Light, dark, and unlockable premium themes, switchable anywhere in the app. |
| 🔐 | Secure Auth | Email/password and Google Sign-In, backed by Firebase Auth and Expo Secure Store. |
| 🔗 | Instant Invites | Every group ships with a shareable link and invite code — friends join in one tap. |
| 🤖 | AI Chat Assistant | Ask questions about a group's spending and get instant, conversational answers. |
| 📊 | Expense Breakdown & Charts | Visual breakdowns of who spent what, and where the group's money actually went. |
- Create your account — email or Google sign-in, ready in under a minute.
- Start a group — a trip, a flat, or a one-off dinner; unlimited groups, each with its own chat.
- Invite friends — share a link or invite code; they auto-join after signing in.
- Log expenses — type it in two taps, or let the AI receipt scanner do it for you.
- Split it your way — equal, percentage, shares, or exact amounts; balances are netted automatically.
- Settle up — one tap routes the fewest possible UPI payments and zeroes the ledger.
Referring friends earns coins that climb through reward tiers:
| Tier | Coins | Perks |
|---|---|---|
| Bronze | 100 | Bronze badge + 1 custom theme |
| Silver | 300 | Silver badge + all custom themes |
| Gold | 750 | Gold badge + priority support + early access |
| Elite Club | 1,500 | Elite badge + every future reward |
Sharing a referral link credits 50 coins to the referrer and 25 coins to the friend the moment they join — no waiting, no conditions.
| Layer | Technology |
|---|---|
| Framework | Expo 54 · React Native 0.81 · React 19 |
| Navigation | Expo Router (typed routes, file-based) |
| Auth | Firebase Auth · Google Sign-In · Expo Secure Store |
| Realtime | Socket.IO client (live chat & balance updates) |
| Backend services | Firebase (Auth, Cloud Messaging, Firestore/Storage) |
| Data & networking | Axios |
| Animation & UI | React Native Reanimated 4 · Expo Linear Gradient · Expo Blur · Lucide icons |
| Charts | react-native-svg |
| Native extras | Android home-screen widget (react-native-android-widget), Play Install Referrer, Expo Notifications |
| Testing | Jest (jest-expo) · React Native Testing Library |
| Tooling | TypeScript · ESLint (eslint-config-expo) |
splitApp/
├── app/ # Expo Router screens (file-based routing)
│ ├── (tabs)/ # Home, Trips, Chat, Profile tab screens
│ ├── auth/ # Login & registration
│ ├── chat/, group-chat/ # 1:1 and group chat threads
│ ├── groups/ # Group detail, balances, expenses
│ ├── info/ # Help, pricing, privacy, terms, contact, etc.
│ ├── join/[inviteCode]/ # Deep-link group invites
│ └── ai-chat.jsx, rewards.jsx, settings.jsx ...
├── components/ # Reusable UI: modals, charts, headers, chat UI
├── context/ # Auth, Notification, and Theme providers
├── lib/ # API client, Firebase, sockets, push notifications
├── widgets/ # Android home-screen balance widget
├── hooks/ # Shared React hooks
├── constants/ # App-wide constants
├── android/ · ios/ # Native project files
└── assets/ · public/ # Icons, images, splash assets
- Node.js 20+ and npm
- Expo CLI (
npx expo) - A Firebase project (Auth + Cloud Messaging) and Google OAuth client IDs
- Xcode (for iOS) and/or Android Studio (for Android) if you plan to run native builds
git clone https://github.com/Gautam5514/splitApp.git
cd splitApp
npm installCopy the templates and fill in your own Firebase and Google OAuth credentials:
cp .env.example .env
cp google-services.json.example google-services.json # Android
cp GoogleService-Info.plist.example GoogleService-Info.plist # iOSThese files are git-ignored — never commit them. See .env.example for every variable. The app also needs a compatible backend API (EXPO_PUBLIC_API_URL); UI-only contributions don't require one.
npx expo start # dev server — scan the QR with Expo Go or a dev client
npm run android # run on an Android emulator/device
npm run ios # run on an iOS simulator/device
npm run web # run in the browser| Command | Description |
|---|---|
npm start |
Start the Expo dev server |
npm run android |
Build & run the Android dev client |
npm run ios |
Build & run the iOS dev client |
npm run web |
Run the web build |
npm run lint |
Lint the project with expo lint |
npm test |
Run the Jest test suite |
npm run build:apk |
Production APK build via EAS |
npm run build:production |
Production build for iOS & Android via EAS |
npm run submit:android |
Submit the latest Android build to Google Play |
npm run submit:ios |
Submit the latest iOS build to App Store Connect |
SplitEase ships via EAS Build and EAS Submit:
eas build --platform android --profile production-apk
eas build --platform all --profile production
eas submit --platform android --profile production --latestThe Android app is live today on Google Play under package com.kunal.splitapp. iOS builds run on the same Expo codebase and are distributed via TestFlight ahead of an App Store release.
- iOS App Store release
- Multi-currency support for international trips
- Recurring/subscription expense splitting
- Export settlements as PDF statements
SplitEase is open source and contributions are welcome! Start with CONTRIBUTING.md, then grab a good first issue. Please follow our Code of Conduct; report security issues via SECURITY.md.
- 🐛 Found a bug or have a feature request? Open an issue.
- 📧 In-app support: reachable from Settings → Contact us, or email
support@splitease.app.
Released under the MIT License. The SplitEase name and logo remain the property of the maintainer.
