$ cat case-studies/phil-and-go.md
Phil & Go: Petrol Booking on Android & iOS
The Challenge
Phil & Go needed a mobile product that lets drivers find nearby petrol stations, book a time slot, and manage their schedule — without queuing at the pump. That meant solving several hard problems in one app:
- Real-time location: Show accurate nearby stations on a live map with smooth performance
- Slot booking: A scheduling flow that stays consistent when many users compete for the same time slots
- Payments: Secure in-app payment so the booking-to-purchase journey never leaves the app
- Two platforms, one product: Feature parity across native Android and iOS
My Role & Approach
- Built the app natively for both platforms — Kotlin on Android, Swift on iOS — sharing API contracts and design language across the two codebases
- Integrated Mapbox for the station map: custom markers, user location tracking, and proximity-based station discovery
- Implemented the slot booking and schedule management flows backed by REST APIs
- Wired up payment gateway integration and Firebase Cloud Messaging for booking confirmations and reminders
Technical Implementation
Maps & Location
- Mapbox SDK with custom symbol layers for station markers and state (open, busy, closed)
- Location permission flows tuned per-platform (Android runtime permissions, iOS authorization tiers)
- Proximity queries so users always see the closest bookable stations first
Booking & Payments
- Slot selection UI with server-side availability checks to prevent double booking
- Payment gateway integration with proper error and retry handling around the payment lifecycle
- Push notifications (FCM) for booking confirmation, changes, and reminders
Outcome
Phil & Go shipped to both stores and is live today. Drivers can discover stations on the map, book a slot in a few taps, pay in-app, and get notified before their booking — a complete find-book-pay loop on Android and iOS.