
Mobile · Fullstack· 2026
Rahat Ulag
City and intercity ride-hailing, built on a shared Kotlin Multiplatform core.
- Kotlin Multiplatform
- Compose Multiplatform
- Node.js
- Google Maps
- WebSockets
- FCM
The problem
Passengers and drivers need two apps that stay in sync in real time, on both Android and iOS, without maintaining four codebases.
What I built
A passenger app and a driver companion sharing one KMP core, and a Node.js backend handling ride matching, trip state and pricing over WebSockets.
Technical challenges
- Real-time driver location streaming with acceptable battery use.
- Background location services surviving Android's process restrictions.
- Keeping trip state consistent when a phone loses connection mid-trip.