$ cat case-studies/phil-and-go.md

Phil & Go: Petrol Booking on Android & iOS

Role: Mobile Engineer (Android & iOS)Platform: Android (Kotlin) & iOS (Swift)Domain: Location services, booking, paymentsStatus: Live on Google Play & App Store

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.

Technologies Used

Kotlin Swift Mapbox Payment Gateway FCM REST APIs Android iOS

Building a booking, maps, or payments product?

Let's talk