SplitSnap — Photo Your Receipt, Split by Item, Pay Instantly
Splitwise is great until someone has to manually type every item from a $200 dinner receipt at 11pm. SplitSnap lets anyone photograph a receipt, AI extracts every line item, each person taps what they ate, and Venmo deep-links fire automatically. No math, no arguments, no awkward 'who had the salmon?' debate.
Difficulty
beginner
Category
Productivity
Market Demand
Very High
Revenue Score
7/10
Platform
Web App
Vibe Code Friendly
⚡ YesHackathon Score
🏆 9/10
What is it?
The dinner bill split is a universally hated ritual that Splitwise and Venmo have barely improved since 2012 — both require manual data entry. SplitSnap uses Claude Vision to extract itemized receipts from a photo in under 5 seconds, presents a tap-to-claim interface where each diner selects their items, calculates totals including tax and tip proportionally, and generates one-tap Venmo and PayPal payment links for each person. The core loop is under 60 seconds from photo to paid. Built with Next.js, Claude Vision API, and Supabase, the MVP can ship in one week. Monetization via a $2.99/month or $14.99/year premium that unlocks group history, custom tip splits, and CSV export for expense reports.
Why now?
Claude Vision API's accuracy on printed receipts crossed the threshold for production use in early 2025, and Venmo deep links are fully documented and stable — making a frictionless zero-install bill splitter finally buildable in a weekend.
- ▸Claude Vision receipt OCR that extracts every line item including tax and tip in under 5 seconds from a phone photo.
- ▸Tap-to-claim item assignment UI where each person selects their dishes before totals are calculated.
- ▸Proportional tax and tip split calculated automatically based on each person's subtotal.
- ▸One-tap Venmo and PayPal deep links generated per person with the exact amount pre-filled.
Target Audience
Friend groups, couples, and work teams aged 22-40 who eat out regularly — approximately 80M US adults who split restaurant bills at least twice per month.
Example Use Case
A group of six friends at a Thai restaurant photograph their $180 receipt, each taps their dishes in 30 seconds, and all five Venmo requests fire before anyone reaches for their wallet.
User Stories
- ▸As a dinner group organizer, I want to photograph our receipt and have items extracted automatically, so that I stop manually typing every dish into Splitwise.
- ▸As a group member, I want to tap only the items I ordered, so that I pay my exact share including proportional tax and tip without mental math.
- ▸As a frequent diner, I want a Venmo link generated for my share, so that I can pay in one tap before leaving the restaurant.
Done When
- ✓OCR: done when a photo of a printed restaurant receipt produces a list of line items with correct names and prices within 5 seconds.
- ✓Item assignment: done when each person can tap items to claim them and the UI shows real-time running totals per person.
- ✓Payment links: done when tapping Pay opens the Venmo app pre-filled with the correct amount and recipient.
- ✓Paywall: done when a user's fourth split in a month triggers an upgrade modal and Stripe checkout completes successfully.
Is it worth building?
$2.99/month x 2,000 subscribers = $5,980 MRR at month 6. $14.99/year x 5,000 users = $74,950 ARR at month 12.
Unit Economics
CAC: $2 via TikTok organic. LTV: $36 (12 months at $2.99/month). Payback: 1 month. Gross margin: 88%.
Business Model
Freemium subscription
Monetization Path
Free for 3 splits per month, $2.99/month unlimited. Upgrade triggered at the third split in a calendar month.
Revenue Timeline
First dollar: week 2 via first paid upgrade. $1k MRR: month 4. $5k MRR: month 10.
Estimated Monthly Cost
Claude Vision API: $50, Supabase: $25, Vercel: $20, Stripe fees: ~$15. Total: ~$110/month at launch.
Profit Potential
Side-income viable at $2k-$6k MRR. Acqui-hire target for Venmo or PayPal at scale.
Scalability
High — add QR code group join, restaurant partner integrations, and team expense report export.
Success Metrics
Week 1: 500 signups from TikTok demo. Month 1: 200 monthly active splitters. Month 2: 5% convert to paid.
Launch & Validation Plan
Post a 30-second TikTok of the full flow at a real restaurant, link to waitlist, measure signups in 48 hours before writing a line of code.
Customer Acquisition Strategy
First customer: post a live demo video in r/frugal and r/personalfinance showing the 60-second flow — no pitch, just the product working. Ongoing: TikTok food content creators tagging the app, App Store organic search for 'split bill receipt'.
What's the competition?
Competition Level
Medium
Similar Products
Splitwise (manual entry, no OCR), Tab (requires everyone to download the app), Plate (limited to iOS, no Venmo link generation).
Competitive Advantage
Item-level splitting from a photo in one tap — Splitwise requires manual entry, Tab and Plate require group app installs, SplitSnap works as a mobile web app with zero install friction.
Regulatory Risks
Low regulatory risk. Venmo deep links do not process payments on our behalf — we only generate pre-filled links. No financial licensing required.
What's the roadmap?
Feature Roadmap
V1 (launch): receipt OCR, item claim UI, Venmo and PayPal deep links, 3-split free tier. V2 (month 2-3): group history, QR code group join, CSV export. V3 (month 4+): native iOS app, restaurant menu integration, recurring group templates.
Milestone Plan
Phase 1 (Week 1): OCR parsing and item claim UI fully working on real receipts. Phase 2 (Week 2): Stripe billing live, Venmo links generating correctly, landing page published. Phase 3 (Month 2): 500 MAU, TikTok demo video posted, first 50 paying subscribers.
How do you build it?
Tech Stack
Next.js, Claude Vision API, Supabase, Venmo Deep Link API, PayPal API — build with Lovable for UI, Cursor for receipt parsing logic.
Suggested Frameworks
Next.js App Router, Supabase client, Claude API SDK
Time to Ship
1 week
Required Skills
Claude Vision API, basic Next.js, Supabase Auth, mobile-responsive CSS.
Resources
Claude API vision docs, Venmo deep link spec, PayPal payment links docs, Supabase quickstart.
MVP Scope
app/page.tsx (landing + upload CTA), app/split/page.tsx (item claim UI), app/api/parse-receipt/route.ts (Claude Vision call), app/api/splits/route.ts (split calculation), lib/db/schema.ts (Drizzle schema), lib/venmo.ts (deep link generator), components/ReceiptItem.tsx (tap-to-claim card), components/PersonSummary.tsx (per-person total), seed.ts (demo receipt data), .env.example (required env vars).
Core User Journey
Open app -> photograph receipt -> tap your items -> share link with group -> everyone taps their items -> Venmo links fire in one tap.
Architecture Pattern
User photos receipt -> image POSTed to Next.js API -> Claude Vision API extracts line items -> items stored in Supabase -> user assigns items in UI -> totals calculated client-side -> Venmo deep links generated and displayed.
Data Model
Session has many LineItems. LineItem belongs to many Persons via Claims. Session calculates one SplitSummary per Person.
Integration Points
Claude Vision API for receipt OCR, Supabase for session and split storage, Venmo deep links for payment, PayPal payment links for payment, Stripe for subscription billing, Vercel for hosting.
V1 Scope Boundaries
V1 excludes: native mobile app, multi-currency support, restaurant integrations, group chat, and persistent split history for free users.
Success Definition
A stranger at a restaurant uses SplitSnap on their own, splits a real bill with four friends, and all payments are sent before leaving the table — with zero founder involvement.
Challenges
Receipts from cheap printers are notoriously hard to OCR accurately — Claude Vision handles most but edge cases will cause user frustration and churn. The real distribution challenge: getting one person in a friend group to adopt means converting the whole group passively.
Avoid These Pitfalls
Do not build user accounts before validating the core OCR flow — anonymous sessions work fine for v1. Do not promise perfect OCR accuracy on every receipt — set expectation of manual correction for edge cases. First 10 paying users will come from social video, not SEO — invest in demo content before launch.
Security Requirements
Supabase anonymous sessions for no-login flow. RLS on all session tables scoped to session token. Receipt images deleted from storage after 24 hours. Rate limiting 20 req/min per IP on OCR endpoint.
Infrastructure Plan
Vercel for Next.js. Supabase Postgres and Storage for data and receipt images. Sentry for errors. GitHub Actions for CI. Estimated infra: ~$110/month.
Performance Targets
500 DAU and 2,000 req/day at launch. OCR API response under 4s. Page load under 1.5s on mobile. Receipt images served via Supabase CDN.
Go-Live Checklist
- ☐Security audit complete.
- ☐Stripe payment flow tested end-to-end.
- ☐Sentry error tracking live.
- ☐Vercel Analytics configured.
- ☐Custom domain with SSL live.
- ☐Privacy policy and terms published.
- ☐10 friends tested on real receipts.
- ☐Rollback plan documented.
- ☐TikTok demo video recorded and scheduled.
First Run Experience
On first run: a pre-loaded demo receipt from a fictional Italian restaurant with 8 line items is already displayed. User can immediately tap items to claim them as Person A and see a Venmo link generate instantly. No manual config required: demo mode runs fully without any account creation.
How to build it, step by step
1. Define Supabase schema for Session, LineItem, Person, and Claim tables in lib/db/schema.ts. 2. Scaffold Next.js app with Supabase anonymous auth using npx create-next-app. 3. Build POST /api/parse-receipt that sends base64 image to Claude Vision and returns structured JSON array of line items. 4. Build the tap-to-claim UI in app/split/page.tsx using ReceiptItem components from v0. 5. Implement client-side proportional tax and tip calculation in a pure function. 6. Build Venmo deep link generator in lib/venmo.ts using the venmo://paycharge scheme. 7. Add Stripe subscription billing with a paywall at the third split per month. 8. Build the landing page in app/page.tsx with a 30-second demo video embed. 9. Add Sentry error tracking and Vercel Analytics. 10. Verify: photograph a real restaurant receipt, confirm all items extract correctly, assign items to three test users, and confirm Venmo deep links open with correct amounts.
Generated
May 3, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.