Inspiration
Splitting bills with friends or roommates is always messy — who owes what, who's supposed to pay whom, it gets confusing fast. That's why we built SplitOn — a clean app that handles splitting, settling, and even shared pool funds in one place.
What it does
- Splits bills within groups and tracks running balances
- Smart debt-simplification algorithm settles "who owes whom" in one tap
- Pool Fund feature — a shared fund where one member (the holder) manages contributions from the group
- Real-time Insights with charts/graphs to visualize spending patterns
- App Lock (biometric) to keep your data private
How we built it
- Frontend: React Native (Expo Router)
- Backend: FastAPI (Python), deployed on Render
- Database/Auth: Supabase
- Push notifications: Firebase FCM
- OCR (bill scanning): Google Cloud Vision API
Challenges we ran into
- Keeping settlement/debt-simplification logic identical across frontend and backend
- Fixing real-time balance updates and stale-data bugs
- Upgrading from Expo SDK 52 to SDK 54 (React 19, RN 0.81) and resolving peer-dependency conflicts
Accomplishments that we're proud of
- Ported 25+ pixel-perfect screens
- Completed closed testing with 12-15 real users
- Built Pool Fund — a feature that sets us apart from typical bill-splitters
What's next for SplitOn
- Pool Fund insights screen
- Group ownership transfer feature
- Use Voice to add Expense
Built With
- fastapi
- firebase-cloud-messaging
- googlecloudvisionapi
- nativewind
- python
- react-native
- recharts
- render
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.