Paratransit Scheduling Platform
Rebuilt from scratch for large US transit agencies
I took an earlier version of a scheduling platform for large US transit agencies that had become hard to maintain, and rebuilt it from scratch with NestJS and Next.js — owning the architecture, security and the long-running optimization workflow.
Rebuilt end to end
Highlights
- Rebuilt end to end: NestJS + TypeScript backend, Next.js frontend
- Long-running optimization runs with validation, live progress, retries and PDF reports
- Multi-agency roles and permissions, JWT with refresh tokens, 2FA (app, SMS, email)
Problem
Transit agencies upload trip files, validate them, run route optimization and review results — across several agencies that must never see each other's data. The earlier version was difficult to evolve, and the workflow had to be reliable even when an optimization run took minutes or failed midway.
Decision
Rather than keep patching the old version, I proposed a rebuild and got the go-ahead: a NestJS + TypeScript backend with clear modules (accounts, scheduling, runs) and a Next.js frontend organised around an upload → validation → optimization → results stepper.
What I built
Multi-agency accounts with roles and action-level permissions, JWT sessions with refresh tokens, two-factor sign-in (authenticator app, SMS, email), user management with CSV bulk import, run processing with live progress, retries and PDF reports, and run maps (Google Maps with HERE routing) as a reusable component, with Sentry monitoring.
Outcome
A production platform the agencies use for their daily scheduling, with a codebase the team can extend — the old version's maintenance problems are gone.