← all work

Taxiarab

A production ride-sharing platform — dual apps (rider + driver), five-module Clean Architecture. I joined in Dec 2024 and own the service-coordination layer: foreground services, Pusher real-time, permissions.

Role
Android systems developer — joined Dec 2024
Span
Dec 2024 — now
Kind
Client work · product
Status
ongoing
Stack
Kotlin · Jetpack Compose · Hilt · Pusher · Clean Architecture · Coroutines

Two apps, one system

Taxiarab is a complete ride-sharing solution: separate Rider and Driver apps, five-module Clean Architecture (client, driver, core

, core
, design_system), pure-Kotlin domain layer with no Android dependencies bleeding into business logic.

The coordination problem

A single LocationServiceManager coordinates the location and WebSocket foreground services centrally, instead of letting each manage its own lifecycle independently — which is where most ride-hailing apps rot. It runs a health check every 30 seconds and recovers services that have died.

Pusher carries two different kinds of traffic on two different channel types, and the distinction matters: presence channels broadcast driver location, private channels carry ride events — invitation, acceptance, pickup, start, end, cancel. Location intervals adapt to context (5s / 10m foreground, 30s / 50m background) rather than draining the battery on a fixed timer.

Production details that matter

  • Sequential permission queue — one permission at a time, Android 13+ compliant, not a wall of dialogs on first launch
  • Boot recovery that restores service state after an Android 15+ reboot
  • Full Arabic/RTL localization, not bolted on afterward
  • Shipped: Rider app v4.4 (10K+ downloads), Driver app v2.6 (1K+ downloads), both live on Google Play

This kind of problem?

I build production systems that answer “where is it now?” — reconciliation engines, geolocation platforms, ride-sharing coordination layers, AI tool servers. If you’re facing a system that needs to survive real traffic, real constraints, and real time — let’s talk.

Usually reply within 24 hours. Platform engagements start at $8K/month.