Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Split restaurant bills fairly — snap a photo, claim your items, and let SplitIt handle the math.
FinanceTypeScript · PowerShellGitHub @ChrisBrooksbankOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Split restaurant bills fairly — snap a receipt, claim your items, get per-person totals with proportional tax and tip. Fully offline PWA, no sign-up required.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Split restaurant bills fairly — snap a photo, claim your items, and let SplitIt handle the math.
A Progressive Web App that makes splitting the bill painless. Photograph a receipt, let OCR or your own AI (ChatGPT, Claude or Gemini) extract the line items, pass the phone around the table so everyone claims what they ordered, and get an instant per-person breakdown with proportional tax and tip.
You can also Enter Manually. Whichever way you start, you review and correct the items before splitting.Read the full README ↗Split restaurant bills fairly — snap a photo, claim your items, and let SplitIt handle the math.
A Progressive Web App that makes splitting the bill painless. Photograph a receipt, let OCR or your own AI (ChatGPT, Claude or Gemini) extract the line items, pass the phone around the table so everyone claims what they ordered, and get an instant per-person breakdown with proportional tax and tip.
| Method | Accuracy | Needs | How |
|---|---|---|---|
| AI Assistant — bring your own key | Best | Your own OpenAI, Claude or Gemini API key | Paste your key once, then photograph the bill and tap Process with AI. Items arrive pre-filled. |
| AI Assistant — copy & paste | Best | A free ChatGPT or Claude chat | Copy SplitIt's prompt, attach your photo in the chatbot, paste the JSON reply back. No key needed. |
| Scan a Bill (OCR) | Good | Nothing — works offline | Tesseract.js reads the photo on-device; nothing is uploaded. |
You can also Enter Manually. Whichever way you start, you review and correct the items before splitting.
Bring your own key (BYOK): on the home screen choose Use AI Assistant, then Have an API key? Skip the copy-paste. Pick OpenAI, Claude or Gemini and paste your key. It is stored only in your browser (local storage) and removed with Remove key. While a receipt is processed, the photo and key pass through a stateless serverless proxy (
netlify/functions/ai-receipt.ts) to the provider; SplitIt never stores either. You pay your provider directly for usage.
vite-plugin-pwa (Workbox)netlify/functions/ai-receipt.ts)server/main.ts)npm install
npm run dev # Start dev server at http://localhost:5173
| Command | Description |
|---|---|
npm run dev | Start development server |
npm run build | Type-check and production build |
npm run preview | Preview production build locally |
npm run test | Run tests in watch mode |
npm run test:run | Run tests once |
npm run test:coverage | Run tests with coverage report |
npm run lint | Run ESLint |
npm run format | Format code with Prettier |
npm run typecheck | TypeScript type checking |
npm run check | Run all checks (typecheck + lint + format + tests) |
Every push to master triggers an automatic build and deploy.
npm run builddistindex.html (configured in netlify.toml)Live sessions use a lightweight WebSocket relay server hosted on Deno Deploy. The server is stateless — it forwards JSON messages between host and guests in ephemeral rooms. No data is stored.
server/main.tscd server && deno task devGET /health returns { status: "ok", rooms: N }src/services/liveSession/relayConfig.ts (override with VITE_RELAY_URL env var)src/
components/ # Reusable UI components
pages/ # Route-level page components
hooks/ # Custom React hooks
store/ # Zustand state stores
services/ # OCR, P2P, and other service modules
types/ # TypeScript type definitions
utils/ # Helper utilities
test/ # Test setup and utilities
MIT