CodingIdeas.ai

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

⚡ Yes

Hackathon 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.