RytSplit — AI-Powered Receipt Scanning & Group Expense Splits
Inspiration
Splitting group bills is a chore. People forget who paid, receipts get lost, and travel expenses pile up across different currencies. We wanted a single, mobile-first experience that handles scanning, splitting, and settling—all without manual data entry.
What It Does
AI Receipt Scanning using OpenAI Vision to extract:
- Line items
- Totals
- Tax
- Tips
Flexible Splitting
- Split evenly or by individual items
- Assign shares to friends
- Track who owes whom
Running Ledger
- Transaction history
- Payment requests
- Friend management
Smart Mapping
- Maps receipts/venues using Leaflet + OpenStreetMap
Multi-language Support
- English / 中文 / Bahasa Melayu
How We Built It
Frontend
- React + Vite + Tailwind (mobile-first)
- Capacitor for Android/iOS builds
- Smooth UX with Vite HMR
Backend
- FastAPI (Python)
- SQLite database
- JWT authentication
REST endpoints for:
- Auth
- Receipts
- Friends
- Splits
- Transactions
AI & OCR
- OpenAI GPT-4 Vision for parsing messy receipts
- OpenStreetMap + Leaflet for venue mapping
Tooling
.envfor API keys/secrets- Batching API calls for responsive UI
Challenges
- Emulator networking headaches (e.g.,
localhostvs10.0.2.2). - Prompting Vision reliably to parse inconsistent receipts.
- Maintaining shared state across auth, receipts, friends, and splits.
- Handling multi-language UI and currency/tax rounding edge cases.
Accomplishments
- Fully working flow: Scan → Parse → Split → Assign → Ledger on both web and emulator.
- Clean, mobile-first UI aligned with the Ryt Bank design language.
- AI-driven item-level splitting (not just manual entry).
- Built-in multi-language support and location tagging.
What We Learned
- Prompt engineering significantly boosts OCR accuracy.
- Clear backend API boundaries simplify React state management.
- Emulator networking can waste hours—document IP rules early.
- UX polish (prefilled splits, toasts, defaults) removes friction.
What’s Next
- Integrate real payment rails: Stripe, PayPal, Venmo, etc.
- Push notifications for pending splits/requests.
- Budgeting insights by merchant/category with export to CSV/PDF.
- Enhanced multi-currency logic + offline caching for travelers.
- More automated testing around OCR edge cases and rounding rules.
Built With
- android
- capacitor
- capacitor-(android/ios-packaging).-backend:-python-(fastapi)
- cli;
- frontend:-react-+-vite
- jwt-auth
- sqlite-database.-apis/services:-openai-gpt?4-vision-for-receipt-ocr;-leaflet-+-openstreetmap-for-mapping;-optional-google-maps-api-key-for-locations.-tooling/build:-npm
- studio
- tailwind-css
- vite-hmr-dev-server
- xcode
Log in or sign up for Devpost to join the conversation.