All projects
DriveBid banner
Mobile · 2021 Live

DriveBid

Reverse-auction ride-hailing. Riders set the budget, drivers bid.

Tech stack
FastAPI React TypeScript SQLite Leaflet OpenStreetMap Expo React Native

The problem

Traditional ride-hailing platforms like Uber and Careem use fixed pricing that does not match emerging-market fuel-cost volatility. Drivers lose margin when fuel spikes and riders overpay when fuel drops. In markets where fuel is a meaningful share of the ride cost, fixed pricing is structurally wrong.

Goals

  • Flip the pricing model so riders post budgets and drivers bid
  • Ship both rider and driver apps with shared typed API contracts
  • Real OTP auth and KYC without paid third-party dependencies where possible
  • Free map tiles via OpenStreetMap to avoid paid vendor lock-in
  • CI-built APK releases so manual Expo builds are not the deployment story

The solution

  • Rider app to post a trip with a max budget and see live bids
  • Driver app to view trip alerts, submit bids, and accept winning rides
  • Real-time bid list with accept-the-best flow
  • Typed API client shared across both React Native apps
  • OSM tile rendering with Leaflet for live trip tracking
  • GitHub Actions workflows building APKs on tag

My role

  • Solo developer across rider app, driver app, and backend
  • FastAPI backend with SQLite for demo simplicity
  • Shared TypeScript API client across both Expo apps
  • OpenStreetMap and Leaflet integration for tile rendering
  • CI pipelines for APK builds

UI direction

Mobile-first for both apps with shared design tokens and dark mode. Minimal chrome so the bid list and map take the whole screen when they need to.

User flows

Rider flow

  1. 1 Sign in and set pickup and destination
  2. 2 Post the trip with a max budget
  3. 3 Receive bids, view driver rating next to each bid
  4. 4 Pick a driver and track live position

Driver flow

  1. 1 Sign in and go online
  2. 2 Receive trip alert with distance and max budget
  3. 3 Submit a bid at or below the rider budget
  4. 4 Start trip on acceptance and deliver

Screenshots

Rider app: post a trip with a max budget
Rider app: post a trip with a max budget
Driver app: view trip alerts and submit bids
Driver app: view trip alerts and submit bids
Rider sees live driver bids in priority order
Rider sees live driver bids in priority order
Driver bid submission with rating context
Driver bid submission with rating context

Key learnings

  • A typed API client shared across two mobile apps removes a huge class of drift bugs
  • OSM tiles perform well enough for a two-sided product without paid map providers
  • CI-built APKs via GitHub Actions beat manual Expo builds for iteration speed

Want something like DriveBid?

I'm open to senior contract work. Let's talk about what you're building.

Get in touch