Skip to content
MN
Back to work
iOSAndroidGPSWebSocketsStripe

Transportation Platform

Real-time mobility · GPS · Payments

  • Sub-second location sync across rider and driver clients
  • Trip lifecycle governed by explicit state machines
  • Idempotent payments at trip completion

Products I've built

Two production apps. One mobility platform.

Rider and driver experiences shipped to App Store and Google Play — real screens from live products.

Challenge

Sub-second location sync between drivers and riders on unreliable networks — plus reliable payments at trip end — without state inconsistencies across concurrent sessions.

Approach

Event-driven client with a dedicated real-time layer. Location, trip state, and payments decoupled into modules with finite state machines per trip phase.

Engineering decisions

01

WebSocket pooling with polling fallback

Primary channel via WebSockets, automatic degradation to polling on instability. Reconnection preserves trip context without user-visible resets.

02

GPS throttling pipeline

Location broadcasts batched by speed and proximity — less server load, map accuracy preserved.

03

Idempotent payment triggers

Payment initiation gated on confirmed trip completion with retry logic that prevents duplicate charges.

Live products

Generic labels — client product names omitted.

Rider experience

Driver experience

Outcome

Production mobility platform with consistent real-time trip state and reliable payment flows at scale.

Questions about architecture or team fit? Reach out directly.

Connect on LinkedIn