A collaborative expense sharing Progressive Web App (PWA) that works offline and syncs across devices.
- 📱 Works on all devices (PWA)
- 🔄 Real-time sync between users
- 📊 Smart expense splitting
- 💰 Category-wise expense tracking
- 🔌 Works offline
- 🔗 Easy group sharing via links
- 🎯 Simplified debt resolution
- Clone the repository
git clone https://github.com/hemangsk/billooo.git
cd billooo
- Serve the files using any HTTP server (e.g., using Python)
python -m http.server 8000
- Open in your browser
http://localhost:8000
- Open the app
- Enter your name and email
- Your profile will be saved locally
- Click "New Group"
- Enter group name
- Click "Create Group"
- Open your group
- Click "Invite Friends"
- A dialog will appear with a unique invite link and QR code
- Share the link or let your friends scan the QR code
- Links expire after 24 hours
- Select your group
- Fill in expense details:
- Description
- Amount
- Category
- Click "Add Expense"
- Group balances are automatically calculated
- See who owes what
- View category-wise breakdowns
- Get simplified settlement suggestions
- Pure JavaScript (No frameworks)
- CRDT-based data synchronization
- P2P communication using PeerJS
- PWA for offline functionality
- LocalStorage for persistence
billooo/
├── index.html
├── manifest.json
├── sw.js
├── src/
│ ├── css/
│ │ └── styles.css
│ └── js/
│ ├── app.js
│ ├── crdt.js
│ ├── peer-manager.js
│ └── expense-calculator.js
crdt.js
: Handles data synchronizationpeer-manager.js
: Manages P2P connectionsexpense-calculator.js
: Expense splitting logicapp.js
: Main application logic
- Modern web browser
- Basic HTTP server
- Clone the repository
- Serve the files using any HTTP server
- Open in browser
- Changes are immediately reflected
- Update the
manifest.json
with your app details - Generate icons in required sizes
- Update the service worker cache version
- Deploy to HTTPS-enabled server
- Chrome (recommended)
- Firefox
- Safari
- Edge
- Any modern browser with PWA support
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT License - feel free to use and modify
- Open an issue for bugs
- Submit PRs for improvements
- Contact: [email protected]
- Add multi-currency support
- Implement receipt scanning
- Add expense categories customization
- Enable group expense analytics
- Add push notifications
- PeerJS for P2P functionality
- CRDT concept for sync
- PWA technology
- Click the "Add to Home Screen" button in the app
- Follow the browser's installation prompt
- The app will install and create a desktop shortcut
- Open bill.ooo in Safari
- Tap the Share button
- Scroll down and tap "Add to Home Screen"
- Tap "Add" to confirm
- Open bill.ooo in Chrome
- Click the "Add to Home Screen" button
- Follow the installation prompt
- The app will be added to your home screen