Inspiration
We've all been burned by the post-trip Venmo spiral — a dozen messages, disputed amounts, someone always left out. Meanwhile, personal budgeting lives in a separate app (or a forgotten Notes list) that never connects to your shared spending. We wanted one app that handles both — your money and your friends' money — without the chaos.
What it does
CashCraft is a personal finance + group expense app for iOS and Android:
Budget tracking — Set your salary and a budget rule (50/30/20, 70/20/10, etc.). CashCraft splits your spending into Needs, Wants, and Savings buckets in real time and tells you exactly how much you can safely spend per day for the rest of the month. Receipt scanning — Point your camera at any receipt. On-device OCR extracts every line item instantly — no manual entry. Expense history & analytics — Full log with category breakdowns, trend charts, and smart insights that flag when you're drifting off budget. Group bill splitting — Create groups for trips, roommates, or dinners. Log shared bills and a debt simplifier computes the minimum number of transactions needed to fully settle up.
How we built it
React Native + Expo for a single cross-platform codebase Zustand + AsyncStorage for global state with offline persistence ML Kit Text Recognition for on-device receipt OCR with a custom multi-pass regex parser to handle messy real-world receipt formats Reanimated 3 for fluid 60fps animations throughout
Challenges we ran into
OCR in the wild is brutal. Real receipts have rotated text, European comma decimals, payment terminal junk lines, and item names that look like prices. We had to build a blocklist of skip-keywords and a layered extraction strategy to get reliable results across receipt types.
Bridging two financial contexts. Personal finance and group finance have completely different mental models. Designing navigation that keeps them clearly separate while still feeling like one cohesive app took several layout iterations.
Android/iOS parity. react-native-linear-gradient and Reanimated animate differently at the native bridge level on each platform, requiring platform-specific fallbacks in several components.
Accomplishments that we're proud of
The debt simplifier genuinely works — groups with 5+ members resolve to 2–3 transactions every time The OCR parser handles receipts from wildly different POS systems with no cloud calls — everything runs on-device The daily safe-to-spend metric makes budgeting feel actionable rather than abstract A full onboarding → tracking → analytics → splitting flow, polished end-to-end in a hackathon window
What we learned
On-device ML is powerful but imperfect — robust post-processing around model output is at least as much work as the model integration itself Greedy algorithms for debt minimization work extremely well in practice, even though the theoretically optimal solution is NP-hard in the general case Designing for a single user and multiple users simultaneously forces you to think carefully about data ownership and state shape from the very beginning
What's next for CashCraft
AI categorization — auto-tag scanned receipt items using a local LLM Recurring expense detection — automatically surface subscriptions and flag price increases Shared group budgets — set a trip budget and track it collectively in real time Bank sync — connect accounts via Plaid to eliminate manual entry entirely
Log in or sign up for Devpost to join the conversation.