Skip to content

brckfrc/splitsnap

Repository files navigation

SplitSnap Logo

SplitSnap
Snap receipts. Split bills. Settle up effortlessly.


Download on the App Store


Project Tracking

Key Features




🏘 Groups & Shared Expenses

Create groups with your friends, roommates, or travel buddies. Track all shared expenses instantly from a single screen. Say goodbye to complicated math!






📸 AI-Powered Receipt Scanning

Snap a photo of your receipt or pick one from your gallery. Thanks to AI integration, the expense amount, date, and merchant name are filled in automatically.






💸 Fair & Flexible Splitting

Split expenses equally among group members or enter exact amounts manually. Our interface calculates the remaining balance in real-time, leaving zero room for error!






📊 Detailed Settlement Summary

"Who owes whom, and how much?" Get the answer on a single screen. Our algorithm minimizes the debt network, ensuring you settle up with the fewest possible transactions.






🌙 Dark Mode

A flawless dark mode experience that is easy on the eyes and seamlessly synchronizes with your system theme.


Requirements

  • Node.js 20.19+ (Expo SDK 56)
  • macOS + Xcode for iOS Simulator
  • Supabase project (URL + publishable/anon key)

Setup

  1. Install dependencies

    npm install
  2. Environment

    Copy .env.example to .env and fill in:

    • EXPO_PUBLIC_SUPABASE_URL
    • EXPO_PUBLIC_SUPABASE_KEY

    Never commit .env.

  3. Supabase backend & AI Functions

    To set up the database schema and deploy the AI receipt scanning edge functions, use the Supabase CLI:

    supabase db push
    supabase functions deploy

    Note: For the receipt parsing feature to work, you must set your OpenAI API key as a Supabase secret:

    supabase secrets set OPENAI_API_KEY=your_api_key_here

    Migrations live under supabase/migrations/. See supabase/README.md for archive/pg_cron notes and RPC summary. Schema reference: docs/DATABASE.md.

  4. Run on iOS (development build)

    This project uses native modules (e.g. MMKV). Use a development build, not Expo Go:

    npm run ios

    Or: npx expo run:ios

    First run generates native projects via prebuild (if ios/ is ignored in git, this is expected on each fresh clone). The same flow works on a physical iPhone (USB or network) with a dev client — not Expo Go.

Learn more

Contact

Developer: Bora Kocabıyık
Email: bora@borak.dev
Website: splitsnap.borak.dev

If you have any questions, feedback, or need support, feel free to reach out via email or open an Issue in this repository.

License

This project is licensed under the MIT License.

About

Snap a receipt, split the bill | iOS expense tracker built with Expo, React Native & Supabase

Topics

Resources

License

Stars

Watchers

Forks

Contributors