Eazy Split is a modern, offline-first Progressive Web App (PWA) designed to make splitting grocery and delivery receipts effortless. It features a privacy-focused architecture where all data lives on your device, with an optional backend service for AI-powered receipt scanning.
We have comprehensive documentation available for developers:
- Getting Started: Installation, setup, and running the project
- System Architecture: High-level design, data flow, and diagrams
- Client Documentation: Frontend architecture, state management, and algorithms
- Server Documentation: Backend API, OCR service, and endpoints
- Offline-First: Full functionality without internet access using IndexedDB.
- Privacy-Centric: Your data stays on your device.
- Smart Scanning: Optional AI-powered OCR using Google Gemini (requires server).
- Flexible Splitting: Algorithm handles complex splits, ensuring every cent is accounted for.
- Cross-Platform: Works as a PWA on iOS, Android, and Desktop.
- Node.js 18+
- npm
-
Clone the repository
git clone <repository-url> cd Eazy_split
-
Install Client Dependencies
cd client npm install -
Install Server Dependencies (Optional, for OCR)
cd ../server npm install
Client Only (Development):
cd client
npm run devVisit http://localhost:5173
Full Stack (with OCR support):
- Create
.envinserver/and addGEMINI_API_KEY=your_key - Run server:
cd server npm run dev - Run client:
cd client npm run dev
- Frontend: React 19, TypeScript, Vite, Tailwind CSS 4, Zustand, IndexedDB
- Backend: Node.js, Express, Multer
- AI: Google Gemini 2.5 Flash Lite
For detailed technical changes and updates, check out the Changelog.