Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.
저장소 README에서 가져옴
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.
You can also Enter Manually. Whichever way you start, you review and correct the items before splitting.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