Snap. Claim. Split. Done.
SplitSnap is a mobile app that makes splitting restaurant bills fair and effortless. Take a photo of any bill, share a link with your group, let everyone claim their items, and get instant fair totals with one-tap payment requests.
- 📸 Snap — Take a photo of the restaurant bill
- 🖐️ Claim — Share a link; each person taps the items they ordered (no app install needed)
- ✂️ Split — AI calculates each person's share with proportional tax and tip
- ✅ Done — One-tap payment request links (Venmo, CashApp, Zelle, PayPal)
- No app required for guests — friends just tap a web link to claim their items
- Photo-powered — no manual entry; AI reads the receipt for you
- Actually fair — proportional tax and tip based on what each person ordered
- Fast — under 2 minutes from photo to "you owe me $23.47"
splitsnap/
├── apps/
│ ├── mobile/ # React Native (Expo) — initiator app
│ └── web/ # Next.js — guest claim interface
├── packages/
│ └── shared/ # Shared types, utilities, constants
├── supabase/
│ └── migrations/ # Database migrations
├── docs/
│ └── PROJECT_PLAN.md # Full project plan
└── README.md
- Mobile: React Native (Expo)
- Web (Guest): Next.js on Vercel
- Backend: Supabase (PostgreSQL + Auth + Storage + Edge Functions)
- OCR: Google Cloud Vision API
- AI Parsing: Claude API (Haiku)
- Payments: Deep links to Venmo, CashApp, Zelle, PayPal (no processing)
- Node.js 18+
- npm or yarn
- Expo CLI (
npm install -g expo-cli) - Supabase account (free tier)
- Google Cloud account (for Vision API — free tier)
# Clone the repo
git clone https://github.com/YOUR_USERNAME/splitsnap.git
cd splitsnap
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env.local
# Fill in your API keys
# Start the mobile app
cd apps/mobile
npx expo start
# Start the web app (separate terminal)
cd apps/web
npm run devSee PROJECT_PLAN.md for the full roadmap, architecture, data model, and business plan.
Proprietary — All rights reserved.