Collaborative Web Dispatcher Console for a Metropolitan Transit Authority

Metro Driver Dispatcher Console

Web console for depot dispatchers — collaborative shift planning, overtime approval and HR/accounting hand-off across all depots of a metropolitan transit network.

2025Shipped
5engineers
4Screens
ClientSector: Metropolitan transit authority · NDA
Metro Driver Dispatcher Console
Overview

Operations console for the depot dispatchers who manage the shift schedules and overtime of 2k+ metro drivers. Design by team lead Anri Marutyan, frontend built by the BFG frontend team led by Roland Simonyan in Vue 3 / Nuxt 3 / TypeScript. Dispatchers compose, edit and approve driver schedules across multiple depots simultaneously, with optimistic versioning that resolves conflicting edits when two dispatchers touch the same schedule. Real-time updates over WebSockets keep all open sessions in sync. Integrates with the same Go backend platform that powers the mobile app and feeds the platform-level hand-off to HR and accounting systems. In production from 2023 through 2025.

What ships with it
  • Design by team lead Anri Marutyan — full IA for shift planning and approval workflows
  • Built in Vue 3 / Nuxt 3 / TypeScript by the BFG frontend team led by Roland Simonyan
  • Optimistic versioning resolves conflicting schedule edits between two dispatchers
  • Real-time WebSockets sync — open dispatcher sessions stay aligned across depots
  • Approval workflows for shift changes and overtime, with HR and accounting hand-off
  • In production from 2023 through 2025 across all depots of the network
  • One of three sibling deliverables for this customer (mobile · dispatcher · backend platform)
Screens
Metro Driver Dispatcher Console screenshot 1
01/04

Click any screenshot to open full-size view

Numbers that matter
2k+Drivers served
All depotsCoverage
Optimistic versioningConflict handling
Vue 3 + Nuxt 3Frontend stack
Stack
Nuxt 3Vue 3TypeScriptTailwind CSSPiniaRESTWebSocketsVitest
Want one of these for your team?

Let's scope it together.

Start a conversation →