A modern, collaborative bill-splitting app with real-time sync and universal sharing. Split bills with friends effortlessly, whether you're dining out, sharing expenses, or planning group activities.
- Shareable Links: Generate unique URLs that work for anyone, anywhere
- Real-time Collaboration: Multiple people can edit the same bill simultaneously
- Cloud Sync: Automatic syncing with visual status indicators
- No Accounts Required: Anonymous, temporary bill storage (auto-deletes after ~6 months)
- Intelligent Status System: Draft → Active → Closed workflow with contextual actions
- Flexible Splitting: Split items evenly, by shares, percentage, or exact amounts
- Tax & Tip Allocation: Distribute proportionally or evenly among participants
- Accurate Calculations: Precision math to avoid "penny problems"
- Clean Interface: Simplified item entry and intuitive controls
- Drag & Drop: Reorder items with smooth animations
- Auto-collapse: Focus on active items while keeping interface clean
- Responsive Design: Optimized for both desktop and mobile devices
- Keyboard Shortcuts:
Enterto add items,Cmd/Ctrl+Dto duplicate, arrow navigation - Export Options: Copy text summaries or download CSV files
- Visual Feedback: Success animations, hover effects, and smooth transitions
- Persistent State: Never lose your work with automatic local storage
- Node.js 18+ and pnpm
-
Clone and install:
git clone https://github.com/aarekaz/splitsimple cd splitsimple pnpm install -
Set up Redis (for sharing features):
# Create .env.local with your Redis URL echo 'REDIS_URL="your-redis-url-here"' > .env.local
-
Run the development server:
pnpm dev
-
Open http://localhost:3000 in your browser
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm test- Run all testspnpm test:watch- Run tests in watch modepnpm test:coverage- Run tests with coverage reportpnpm lint- Check code stylepnpm type-check- Run TypeScript checks
Deploy to Vercel with Redis KV for full sharing functionality:
- Connect your GitHub repo to Vercel
- Add a Redis database from Vercel's marketplace
- Deploy - sharing and collaboration work automatically!
- Restaurant bills - Split dinner costs among friends
- Group trips - Track shared expenses and settlements
- Roommate expenses - Fairly divide household costs
- Event planning - Manage group purchases and contributions
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe development with strict mode
- Tailwind CSS v4 - Modern utility-first styling
- Redis - Cloud storage for bill sharing
- shadcn/ui - High-quality component library
- React Context + useReducer - Predictable state management
- Local Storage - Persistent bill data
- Real-time Sync - Automatic cloud synchronization
- Undo/Redo System - Full history tracking (50 actions)
- Mathematical Precision - Cent-based calculations to avoid floating-point errors
- XSS Prevention - Input sanitization and validation
- Drag & Drop - Smooth item reordering with @dnd-kit
- Responsive Design - Mobile-first approach with adaptive layouts
- Jest - Test framework with 70% coverage targets
- React Testing Library - Component testing utilities
- MSW - API mocking for integration tests
- GitHub Actions - Automated CI/CD pipeline
- 98% calculations.ts - Business logic validation
- 96% validation.ts - Input sanitization and security
- 95% BillContext.tsx - State management integrity
- 79 passing tests - Comprehensive test suite
# Run all tests
pnpm test
# Watch mode for development
pnpm test:watch
# Generate coverage report
pnpm test:coverage
# Run specific test file
pnpm test calculationsBuilt with Next.js, TypeScript, Tailwind CSS, and Redis for a fast, reliable experience.