Work/Bento Rides

Cab, auto and bike taxi. No surge pricing.

Cab, auto and bike taxi booking with zero surge pricing and GPS-verified pickups.

Client
Bento Rides
Sector
Ride-hailing and urban mobility
What we built
Rider app, driver app, admin, dispatch engine, payments
Stack
React Native, Node.js, PostgreSQL, Redis, Google Maps API
Timeline
[X] weeks

The situation

Bento Rides wanted to fix two things about ride-hailing: surge pricing that makes fares unpredictable, and drivers who can't find the pickup spot. They wanted an app where the price shown is the price charged, and the pickup is GPS-verified so nobody's calling each other trying to find the right corner.

We built the whole thing from scratch. Rider app, driver app, admin dashboard, and the real-time dispatch system underneath. Both apps shipped to the Play Store and App Store.

Bento Rides homepage

Bento Rides homepage with the instant trip calculator.

What we built

Fixed fare engine

Fares come from a rate card based on vehicle type, distance and time. No multipliers, no peak pricing. The admin can update rates by city and vehicle, and changes go live immediately.

GPS-verified pickups

When someone books, their GPS coordinates go to the driver along with the address. The driver app checks proximity before starting the trip. Cuts out the 'where are you' calls.

Real-time dispatch

Matches riders with the closest available driver by vehicle type. If the first driver doesn't accept in 30 seconds, it falls back to the next one. Drivers can see their earnings, ride history and ratings.

Admin dashboard

Live map of all active rides, driver management, fare settings, payout tracking, support tools. The ops team runs everything from one screen.

The hard part

Making dispatch fast at scale

The first version queried every available driver on every booking. Fine in testing, but once more drivers came online, matching started taking several seconds instead of under one.

We switched to a Redis-backed spatial index, partitioned by city and vehicle type. Driver locations update every few seconds and queries only hit the relevant partition. Matching now takes under 200ms no matter the fleet size. To scale further, we just add more partitions.

We caught it before riders noticed. The kind of fix that doesn't show up as a feature but keeps the app feeling fast.

Next case study

Tour booking platform

Tour Treck, YatraStart and Tour Musafir run bookings, advance payments and WhatsApp enquiries through one system we built and maintain.

Read the case study
Screenshot of Tour booking platform

Tell us what you are building

We reply within one business day. If we are not the right fit, we will say so.

Start a project