prismSplit

architagrawal/prismSplit
1 starsNOASSERTIONCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Split bills from your AI: read bills & balances, create equal splits, request settlements.

README.md

PrismSplit

<div align="center">

<h1>The Standard for Shared Finance</h1> <p style="font-size: 1.5em; font-weight: 300;"> Refracting the chaos of group expenses into clarity. </p>

<br />

![Status]() ![Framework]() ![React Native]() ![TypeScript]() </div>

<br />

The Problem

Most expenses aren't split 50/50.

You order a steak, they order a salad. You share an appetizer, but someone else had three drinks.

  • "Why am I paying for your cocktail?" — traditional "even split" apps are unfair.
  • "I'll figure out the math later." — manual itemization on napkins is error-prone.
  • "Who had the extra side?" — confusion leads to social friction.

The result? You pay more than your fair share just to avoid the hassle.

<br />

The Solution

PrismSplit: Item-Level Bill Splitting with AI Receipt Scanning.

We built the system designed for true fairness. PrismSplit replaces "even splits" with granular precision, allowing everyone to pay exactly what they owe.

  • Scan It. Point your camera at a receipt — AI extracts every item in seconds.
  • Itemize It. Break down bills item-by-item with inline editing.
  • Split It. Equal, percentage, shares, or exact amounts — per item or per bill.
  • Settle It. Real-time balances, one-tap settlement.

---

Key Features

AI Receipt Scanning

Capture a receipt photo → AI extracts merchant, items, tax, tip → review and edit inline → create bill. Handles multi-image receipts with parallel upload and discount normalization.

Smart Bill Creation

  • Dual-mode entry: Simple amount or itemized breakdown
  • Ledger-style item editor: Focus-driven expandable rows, auto-advance keyboard flow, swipe-to-delete
  • Auto-category detection: Type "uber" → auto-selects Transport
  • 4 split methods: Equal (toggle participants), Unequal (exact amounts), Percentage, Shares — with live redistribution

Groups & Social

  • Invite links & QR codes for instant group joining
  • Guest members — add friends who don't have the app yet; they claim their history on signup
  • Multi-currency support per group
  • Group quota system with tier-based limits

Financial

  • Real-time balances with animated number transitions
  • Settlement tracking with one-tap settle-up
  • Bill-level and item-level discounts — correctly calculated through the entire stack
  • Tax & tip intelligence — proportional or equal distribution with inline mode selector

---

Tech Stack

| Layer | Technology | Purpose | | :--- | :--- | :--- | | Framework | Expo SDK 54 + React Native 0.81 | Cross-platform mobile | | Language | TypeScript | Type safety | | Backend | Supabase | PostgreSQL, Auth, Realtime, Edge Functions, Storage | | State | Zustand + TanStack Query | Client state + server cache with optimistic updates | | UI | Tamagui | Compiled styles, theming, 60fps animations | | Animations | React Native Reanimated | Layout transitions, gesture-driven interactions | | Storage | MMKV + EncryptedStorage | Offline cache + secure keychain | | AI | Gemini (via Edge Functions) | Receipt OCR and item extraction | | Analytics | PostHog + Firebase + Sentry | Usage tracking, crash reporting, error monitoring | | Validation | Zod + React Hook Form | Runtime schema validation |

Design System

4-font typography system with strict role separation:

  • Sora — Body text, inputs, descriptions
  • Space Grotesk — Page titles, hero text
  • Outfit — UI chrome: badges, labels, section headers
  • SpaceMono — Currency amounts, tabular numbers

Theme-aware components with light/dark mode, brand color overrides, and 12-color avatar palette.

---

Architecture

src/
├── app/                    # Expo Router (file-based routing)
│   ├── (auth)/             # Auth screens (login, signup)
│   ├── (tabs)/             # Main tabs (Home, Groups, Activity, Friends)
│   ├── bill/               # Bill flows (create, edit, scan, review, processing)
│   └── group/              # Group screens (details, settings, edit)
├── components/
│   ├── ui/                 # Design system (Avatar, SwipeableRow, Button, etc.)
│   ├── bill/               # Bill components (LedgerItemRow, SplitModal, etc.)
│   ├── home/               # Dashboard (BalanceCard, SmartFeed, TopCircle)
│   └── group/              # Group components
├── hooks/                  # Custom hooks (useThemeColors, useAnalytics, etc.)
├── lib/
│   ├── store/              # Zustand stores (auth, bills, groups, UI, quota)
│   ├── services/           # Service layer (billService, notifications)
│   ├── utils/              # Utilities (billCalculations, formatting)
│   └── supabase.ts         # Supabase client singleton
├── theme/                  # Design tokens, typography, themes
└── types/                  # Shared TypeScript interfaces

Data Flow

graph LR
    User -->|Interacts| UI[Tamagui UI]
    UI -->|Updates| Store[Zustand Store]
    Store -->|Syncs| Query[TanStack Query]
    Query -->|Persists| DB[(Supabase Postgres)]
    DB -->|Pushes| Realtime[Realtime Events]
    Realtime -->|Refreshes| UI
    Camera -->|Captures| Upload[Supabase Storage]
    Upload -->|Processes| Edge[Edge Function + Gemini]
    Edge -->|Returns| Review[Structured Items]
    Review -->|Creates| Store

---

Getting Started

Prerequisites

  • Node.js 18+
  • Expo CLI (npm install -g expo-cli)
  • iOS Simulator / Android Emulator / Physical device with Expo Go

Installation

git clone https://github.com/architagrawal/prismsplit.git
cd prismsplit/src
npm install

Configuration

Create a .env file in src/ with your Supabase credentials: ``env EXPO_PUBLIC_SUPABASE_URL=https://your-project.supabase.co EXPO_PUBLIC_SUPABASE_KEY=your-anon-key-here ``

Run

npx expo start

---

Project Status

Active Development — V1.1 shipped with AI receipt scanning, ledger-style item editor, and redesigned split flow.

Recent (April 2026)

  • Redesigned itemize modal with ledger-style inline editing
  • Redesigned receipt review screen with inline item editing
  • Redesigned split customization modal
  • Redesigned alert dialog system
  • Auto-advance keyboard flow across item fields
  • Scroll-synced keyboard management
  • Item validation with auto-focus on incomplete fields

Planned

  • Smart Feed with pending approvals and settle requests
  • Offline write queue with conflict resolution
  • Self-select flow (each participant claims their own items)

---

<div align="center"> <p> <a href="docs/technical/ARCHITECTURE.md">Architecture</a> • <a href="docs/FEATURES.md">Features</a> • <a href="CONTRIBUTING.md">Contributing</a> </p> <br /> <p><em>Copyright (c) 2025-2026 Archit Agrawal. All rights reserved.</em></p> </div>

Related MCP servers

Browse all →