A professional, offline-capable Progressive Web Application (PWA) specifically designed for ride-sharing drivers (InDriver, Uber, Lyft) to track daily shifts, income, and expenses with zero friction.
| Active Shift | Analytics |
![]() |
![]() |
| Home & Goal | History & Export |
![]() |
![]() |
- ⏱️ Live Session Management: Real-time shift timer with dynamic earnings-per-hour calculations.
- ⚡ Rapid Entry System: Quick-add "fare chips" (+30, +50, +100) and categorized expense logging.
- 📊 Performance Analytics: High-quality visual trends for weekly and monthly earnings powered by Chart.js.
- 🎯 Goal Tracking: Visual progress bars help you hit your daily shift targets.
- ↩️ Smart Safety-Net: A 5-second "Undo" system for any accidental deletions or shift completions.
- 📂 Data Portability: Export your transaction history directly to CSV or generate print-ready PDFs.
- 💾 Offline Integrity: Works anywhere, even in areas with poor reception, using Service Workers and LocalStorage.
This application is built with a modular, vanilla architecture, avoiding the weight of heavy frameworks to ensure maximum performance on low-end mobile devices.
- Frontend Core: ES6 JavaScript, CSS3 (using custom variables & Glassmorphism).
- State Management: Reactive UI updates through targeted DOM mutations and local state syncing.
- Storage: Persistent encrypted-string serialization in
localStorage. - Offline Logic: Custom Service Worker caching strategy for assets and fonts.
- Visuals: Chart.js for responsive data rendering.
📦 FareLog
┣ 📂 assets/ # App icon & global branding
┣ 📂 css/ # Variable-driven styling (app.css)
┣ 📂 docs/ # Project documentation & screenshots
┣ 📂 js/ # Core application logic & state controllers
┣ 📜 index.html # Main SPA entry point
┣ 📜 manifest.json # PWA metadata
┣ 📜 service-worker.js # Offline caching logic
┗ 📜 LICENSE # MIT License
- Clone the repo:
git clone https://github.com/yousef-ehabb/FareLog.git - Since service workers require a secure context, serve via local server:
python -m http.server 8000
- Open
http://localhost:8000in your browser.
Navigate to farelog.netlify.app in your mobile browser:
- Android: Menu (3 dots) → "Install App"
- iOS: Share icon → "Add to Home Screen"
Distributed under the MIT License. Developed by Yousef Ehab.



