← Selected work

Pre-launch platform

RideMe

A ride-hailing system for customers, drivers and operations teams, with booking, dispatch, trip safety and settlement workflows.

Role
Full-stack platform engineering
Product surfaces
Customer and driver mobile apps · Customer, driver and admin web · API and workers
Public product
Visit website ↗
RideMe pre-launch public websiteRideMe public website on a mobile viewportRideMe phone and email authentication interface

01

Product and context.

RideMe is being prepared for a market-by-market launch. Its product surface covers the customer and driver journey, operational oversight, safety, support and the backend processes that move a trip from request to settlement.

Ride-hailing is a stateful, location-aware workflow. Availability, matching, navigation and payments have to agree across customer and driver devices while operations teams retain a clear source of truth.

02

How the system fits together.

The backend is a NestJS modular monolith backed by PostgreSQL, PostGIS and Prisma. Redis and BullMQ support background work, while Socket.IO handles live trip updates. Next.js and React Native provide the web and mobile product surfaces.

Key workflows

  • Market-gated customer onboarding and driver approval
  • Booking, matching and state-driven trip progression
  • Background driver location and navigation
  • Safety, support, receipts and settlement

Important integrations

  • Google Maps
  • Firebase Cloud Messaging
  • LiveKit voice
  • Stripe and Authorize.net adapters
  • Sentry

04

Challenges and decisions.

Engineering challenges

  • Coordinating location and trip state across intermittently connected devices
  • Separating pre-launch capability from features enabled in a specific market
  • Making bookings and payment transitions safe to retry

Decisions and trade-offs

  • Trips follow an explicit state model rather than relying on client-side assumptions.
  • Bookings and provider callbacks use idempotent server paths.
  • Market, pricing and payment capabilities are enabled deliberately instead of being implied globally.

Technology

React Native · Next.js · NestJS · PostgreSQL · PostGIS · Prisma · Redis · BullMQ · Socket.IO