Qaynaq STUDIO ’26 / BAKU
Work FW026

Çinar Taxi · Transportation

Customer and driver apps for a taxi service

Çinar Taxi needed both sides of the equation: a customer app for ordering and a driver app for accepting and fulfilling rides. We built both with the dispatch logic that ties them together.

Duration
Multi-phase
Team
Elvin Sharifov + mobile team
Services
Mobile app
Status
Live
2 Apps
Customer+driver Sides
Dispatch Logic
Live Tracking

Starting point

Taxi platforms are two products in a trench coat: the customer side is about ordering and seeing the car arrive; the driver side is about accepting jobs, navigation, and earnings. They share the dispatch logic in the middle, but the apps themselves are different.

The trap with taxi platforms is treating them as one product. They're two products on shared infrastructure, and pretending otherwise costs you both sides of the market.

Decisions

  1. Two separate apps, one backend — each side optimised for its own use case.
  2. Dispatch logic that respects driver state — distance, current load, last-seen.
  3. Live tracking from order to drop-off.
  4. Driver earnings visible in the app — no spreadsheet weekly summary.
  5. Driver onboarding stripped back — fewer steps from sign-up to first ride.

Execution

React Native for both apps, backend tuned for high write throughput on location updates. WebSockets for live tracking.

Live tracking handled on WebSockets, with a graceful fall-back to polling on weak connections. Customers see the car move; the system doesn't lie to them when the network drops.

“A taxi platform is two products sharing infrastructure. Pretending it's one product is how you lose both sides.”
— Elvin Sharifov

Result

  • Customer and driver apps live and working.
  • Dispatch logic that handles real-world driver state, not idealised assumptions.
  • Drivers see their own earnings — retention up.
  • Driver onboarding completes faster — the supply side of the platform grows without manual nursing.

For a project like this,
let's talk.

Email Elvin Sharifov