EzeFare

Employee-transport platform for companies, vendors and drivers: a 273-route NestJS API, a 91-page web app and two Android apps.

How it connects

driver app GPSSocket.IO, HTTP fallbackNestJS buffer (5 s batches)live maps on web and phone

CategoryBackend & AI
Timeline2026
ContextEZEFARE Pvt. Ltd. · Freelance software engineer
StatusDelivered · 2 apps live on Google Play
EzeFare platform
273REST routes
1,100+Jest tests in CI
45database models
91web pages · 5 role portals

The product

EzeFare is a B2B platform for corporate employee transport in India: companies book recurring shift trips for their staff, vendors supply fleets and drivers, employees track live rides, and an admin console runs dispatch, billing and compliance.

As a freelance engineer for the client, I built most of it: the NestJS and PostgreSQL API (273 REST routes, more than 1,100 Jest tests in CI), the 91-page Next.js web app with portals for admins, clients, vendors, drivers and employees, and one Expo codebase that ships as two Android apps on Google Play. I worked with the client from raw requirements to handover.

Under the hood

THE ENGINEERING

  • 01

    Automatic vendor allocation that remembers failures: exponential backoff on a failed route estimate, then a 6-hour hold, with ops told once per shift instead of every 2 minutes

  • 02

    Money handled carefully: signed client and vendor ledgers, one GST source, Decimal maths rounded once, a reconcile report, and a row lock so two invoice runs can't bill a client twice

  • 03

    Live GPS: the server keeps the latest ping per trip, broadcasts it before any database write and batches writes every 5 s

  • 04

    10 database-configured cron jobs behind Postgres advisory locks, so only one server runs each tick, and trip creation catches up after an outage (up to 6 hours)

  • 05

    A trip state machine checked on every status write, SOS alerts saved before any notification goes out, and OTP-verified pickups

  • 06

    CI runs lint, Jest, the build and an OpenAPI drift check; the web app's API types are generated from the backend spec

  • 07

    Multi-stop route optimisation through Google Directions, behind a route cache with request coalescing so concurrent callers share one billed call

Next case study

PulseFleet →