Google-mentored capstone, UW-MadisonCapstone: Fall 2024

A fleet operations dashboard for autonomous cabs

A Google-mentored capstone: designing the operator interface for a workflow that doesn't exist yet. Real-time tracking, alert triage and maintenance in one command centre, grounded in interviews with the dispatchers who do the human-fleet version of the job today.

Role
Design Engineer
Team
Design Engineer (Me), 4 Engineers, 1 Product Manager, 2 Google Mentors
Timeline
August–December 2024
Tools
Figma, React, Copilot, v0

Designing for a job nobody has yet. Autonomous fleets are coming out of pilot, and the operator tooling for them is still three browser tabs and a spreadsheet. I designed and built the command centre for it, and the hardest part was finding out what the work actually feels like.

I owned

  • Research plan + 10 interviews
  • Card sort → alert hierarchy
  • All wireframes and UI
  • Alert + vehicle-modal flow
  • Maintenance board
  • Front-end build in React
  • Usability walkthroughs

Shared

  • Scope with the PM
  • Review with the Google mentors

Not mine

  • Routing and telemetry simulation
  • Backend services

Seven people, one designer. I ran the research and owned every screen, and I built the front end rather than handing off — on a team of four engineers with their own simulation to write, the interface was going to be whatever I could get running myself.

The situation

Constant data, no way to make sense of it

Autonomous vehicles generate uninterrupted streams of telemetry. The tools operators use were built for human-driven fleets, where the car reports to a person and the person reports to you.

Picture 6pm in a rush-hour simulation: 200 autonomous cabs crawling through downtown San Francisco. Dispatchers juggling ride requests, blocked roads and battery warnings across three disjointed tools and half a dozen tabs.

Real-time chaos plus incomplete data equals missed rides and stranded passengers. Every second spent working out where the answer lives is a second not spent on the decision.

The research problem

This workflow doesn't exist yet, so who do you interview?

Waymo and Zoox operate these systems and we had no access to them. Local fleet managers don't manage autonomy at scale. Interviewing nobody was not an option, and inventing a persona would have been worse — a fabricated persona would have justified whatever we already wanted to build.

So I wrote the research plan around the parts of the job that already exist: the monitoring, the dispatching, the maintenance coordination. The autonomy changes what generates the alert. It doesn't change what it feels like to triage twelve of them at once.

10stakeholder interviews with dispatchers, supervisors and maintenance leads
3usability walkthroughs
1card sort, focused on how alerts should be prioritised

I'm jumping between five tools just to answer a simple question: is this car okay?

Fleet operator, interview
What it pointed to · Operators lacked a single source of truth, toggling 3 to 6 tools to answer basic questions.

The card sort was the most useful hour. Asking people to rank alerts they invent themselves surfaces the ordering logic they can't state out loud, and that ordering became the alert panel's hierarchy.

The idea

One surface, and every alert is already an action

Three questions, three screens. Each screen answers exactly one:

  • Fleet Overview. Is my fleet running smoothly right now?
  • Alert panel and vehicle modal. What needs attention, and what can I do about it?
  • Maintenance board. Where are we in resolving it?

A page navigation costs the operator their context: the map state, the other eleven alerts, the thing they were half way through. In an ops-critical interface that context is the work.

The modal keeps the fleet visible behind the decision, which is why triage is two clicks rather than a round trip.

Wireframe 1
Testing layout logic before any visual design. Each region has to earn its place by answering a question.

What I built

Three flows, each removing a tab switch

Maintenance without spreadsheets. A board tracking issue status from open through in-progress to resolved, paired with live health indicators and fleet stats.

Alerts that are instantly actionable. One centralised, colour-coded feed of battery, maintenance, routing and connectivity issues. Each alert opens a vehicle modal with status and immediate options, so triage is one click ("send to charging") rather than a hunt.

Route comparison with the evidence attached. A module comparing current versus optimal route times using real-time and historical traffic, so re-routing is a decision backed by something visible rather than a guess.

The numbers attached to these flows (4.2 hour average resolution, 97.3% fleet uptime, 22% faster fault resolution, 5.7 minutes saved per ride) are simulated targets, not measured outcomes. This was a capstone running against a simulation. They describe what we designed toward and what the prototype was tuned to produce, and I'd rather label them than let them read as results.

Fleet Overview
Availability, live GPS and critical alerts in one view.

Design principles that survived

Fast cognition, seamless flow, minimal friction

  • Alerts pulse and KPIs update without reloads, so the screen never needs refreshing to be trusted.
  • Clicking an alert leads directly to the vehicle, never to a list of vehicles.
  • Most actions are one or two clicks. Anything that took three got redesigned.

Those three sound like taste. They aren't — each one is a claim about a specific number of steps, so here is the claim itself, walkable. One incident, the way the job runs today versus the way it runs on this interface.

The alert arrives in whichever tool owns that signal — a monitoring dashboard, an email, a message from someone on the ground.

Costs the user · No single place to look means noticing is itself a task.

A single battery alert on one vehicle, start to finish. The tools on the left are the ones operators described in interviews; the flow on the right is what we built against.

The thing I'd defend here is the last step. Making the maintenance record a by-product of the action, instead of a form afterwards, is the only reason the board on the third screen has anything in it. Every operator we interviewed described logging as the thing that gets skipped, and no amount of board design fixes a board nobody fills.

Reflection

What I'd do with real access

This was a simulation, and its limits are the interesting part. Designing an ops-critical interface without watching anyone use the real thing under real pressure means every claim about speed is a hypothesis.

With access to genuine AV fleet operations I'd want to test how this scales to ten times the vehicles, where the alert list stops being scannable and starts being noise, and whether an AI co-pilot surfacing issues proactively helps or just adds another voice to argue with.

The principles I'd carry regardless: design for action under pressure rather than visibility alone, validate clarity through task-based testing rather than screen reviews, and centre the workflow on the human behind the dashboard.