Overview
Key Features
- Interactive Map View: Built a custom map interface using Google Maps Flutter that displays gas stations with price markers. Stations show their current 87 octane price in pill-shaped markers with station logos, similar to Airbnb's map design, making it easy to compare prices at a glance.
- Community-Driven Price Updates: Implemented a user-submitted price system with confirmation points. Users can submit gas prices for different fuel types (87, 90, Diesel, ULSD), and the community can confirm or dispute prices, creating a reliable crowdsourced database.
- Real-Time Price Tracking: Developed a BLoC-based state management system that efficiently handles real-time price updates, location changes, and data synchronization with Supabase backend. The app refreshes prices on pull-to-refresh and automatically updates when users navigate the map.
- Multi-Platform Authentication: Integrated multiple authentication methods including Google Sign-In, Apple Sign-In (iOS), and anonymous authentication, providing flexible access options while maintaining user privacy preferences.
- Price Analytics & Savings Calculator: Created data visualization components using FL Chart to display price trends and calculate potential savings. Users can see historical price data and understand how much they save by choosing cheaper stations.
- Firebase Integration: Set up comprehensive Firebase services including Cloud Messaging for push notifications, Remote Config for feature flags and A/B testing, and Cloud Functions for backend processing including price scraping automation.
- Dev/Prod Environment Management: Implemented a robust flavor system for managing development and production environments with separate Firebase projects, API keys, and build configurations, ensuring safe testing and deployment workflows.
Technologies Used
- Flutter: Cross-platform mobile development framework for iOS and Android
- Supabase: Backend-as-a-Service for database management and real-time data synchronization
- Google Maps Flutter: Interactive map visualization and location services
- Firebase: Cloud messaging, remote configuration, and cloud functions
- BLoC Pattern: State management architecture using flutter_bloc for predictable state handling
- FL Chart: Data visualization library for displaying price trends and analytics
- GetIt: Dependency injection for clean architecture and testability