A comprehensive electric scooter tracking app with multi-device sync. Track your range, log trips, manage charging sessions across all your devices in real-time using Firebase.
- Share one scooter across multiple devices using a 6-character code
- Real-time data synchronization via Firebase
- Log trips from any phone or tablet
- All data stored securely in the cloud
- Real-time remaining range display with visual indicators
- Color-coded warnings (Green > 20km, Yellow 15-20km, Red < 15km)
- Automatic range calculation based on trips
- Customizable maximum range
- Log odometer readings after each trip
- Automatic distance calculation
- Add trip notes/labels
- View trip history with filters (Today, This Week, This Month, All Time)
- Export trip data to CSV
- Full charge option
- Partial charge with duration input
- Automatic range calculation for partial charges
- Charging history with statistics
- Export charging data to CSV
- "Can I Make It?" range predictor
- Low range alerts (customizable threshold)
- Critical range warnings
- Trip statistics and analytics
- Efficiency tracking
- React 18 with TypeScript
- Firebase (Authentication + Realtime Database)
- Vite for fast development
- Tailwind CSS for styling
- React Router for navigation
- date-fns for date handling
- Lucide React for icons
npm installFollow the detailed guide in FIREBASE_SETUP.md
Quick steps:
- Create a Firebase project at https://console.firebase.google.com/
- Enable Realtime Database
- Copy your Firebase config
- Update
src/firebase/config.tswith your credentials
npm run dev-
Login Screen
- Generate a new 6-character scooter code OR
- Enter an existing code to sync with other devices
-
Onboarding
- Enter current odometer reading
- Set battery status
- Configure charging settings
- Set alert preferences
- Update Odometer - Log trips after each ride
- Add Charge - Track full or partial charges
- View History - Check trips and charging sessions
- Range Predictor - Check if you can reach your destination
- On Device 1: Generate a scooter code (e.g., "ABC123")
- On Device 2: Enter the same code "ABC123"
- Both devices now share the same scooter data
- All changes sync in real-time across devices
To share your scooter with family/friends:
- Go to Settings
- Find your Scooter Code (6 characters)
- Share this code with others
- They enter the code on their device
- Everyone can now track and log data
- Anonymous authentication via Firebase
- Each scooter has a unique code
- Only users with the code can access data
- Data is stored securely in Firebase
npm run buildDeploy the dist folder to any static hosting service:
- Vercel
- Netlify
- Firebase Hosting
- GitHub Pages
Export your data anytime:
- Trip History → Export CSV button
- Charging History → Export CSV button
To track a different scooter:
- Go to Settings
- Click Switch Scooter
- Enter a new scooter code
Your previous scooter data remains in the cloud.
Data not syncing?
- Check your internet connection
- Verify Firebase config in
src/firebase/config.ts - Check Firebase Console for database rules
Can't login?
- Make sure Firebase Authentication is enabled
- Check browser console for errors
Private project for personal use.
2.0.0 - Multi-device sync with Firebase