􁎖

Office Review Tool

Hazard Map

Vehicle Damage

Team Wins

How might we?
help engineers see a whole fleet’s health at a glance, without digging through raw incident logs one drive at a time?
Platforms

React + TypeScript + Vite, deployed to GitHub Pages

Category

Fleet Operations Review, Office Dashboard

Role

End-to-end: data viz, map integration, responsive layout

Instrument cluster of an autonomous test vehicle
Instrument cluster of an autonomous test vehicle
Autonomous test vehicle driving through a city street
Autonomous test vehicle driving through a city street
Design System
Same primitives, office surface

Every card on this dashboard reuses the same five colors and one severity taxonomy — validated once, reused everywhere, never reinvented per panel.

Severity

SEV1 · Critical Takeover

Damage Status

Resolved

Hotspot Rank

#1

ODD Coverage

Ingestion

Team Wins

9 Resolved

Status & Accent Colors

Critical — #D03B3B

Serious — #EC835A

Warning — #FAB219

Good — #0CA30C

Accent — #3987E5

Why It Works
Safety data and morale, side by side.

Team Wins sits right next to the incident log instead of a separate tool, so celebrating progress never gets treated as an afterthought.

Geography you can actually see.

Real OpenStreetMap tiles at real coordinates make spatial patterns obvious at a glance — no squinting at a lat/lng table to spot a cluster.

One validated palette, zero guessing.

Every color on this dashboard passed the dataviz skill’s CVD and contrast checks before shipping — not eyeballed, run through the validator.

Approach & Process
End-to-End Ownership

Owned end-to-end design for Fleet Dashboard, spanning the incident log, the hazard map, and the team-wins morale panel that engineers actually check every morning.

One Taxonomy, One Dashboard

Nothing re-mapped for the office.

The same subsystem × severity classification the cockpit tags with renders directly here — no separate office-side schema to keep in sync.

Validated Palette, Not Guessed

Ran every color through the dataviz skill’s validator before shipping it:

  • Status colors (critical/serious/warning/good) distinct from any categorical series

  • Severity always paired with a label — color never carries meaning alone

  • Contrast checked against the actual dark panel surface, not assumed

Built From Real Fixtures

Every panel reads from the same shape of data the cockpit would eventually stream:

  • Hazard hotspots plotted at real lat/lng on OpenStreetMap tiles, no API key needed

  • Vehicle damage modeled as its own typed fixture, not hardcoded JSX

  • Team-wins counters computed from the same incident list, not separate numbers

Same Taxonomy, New Surface

Extended the cockpit’s data model for the office context, not reinvented it:

  • A live map for spatial pattern-spotting across hotspots

  • A vehicle damage summary for maintenance planning

  • A team-wins panel, deliberately kept separate from the safety metrics

Hazard Route Map
Every hotspot, plotted for real

Fault and disengagement hotspots render on real OpenStreetMap tiles at their actual coordinates, colored by severity, with a ranked list alongside so the worst locations surface first.
No API key, no mock map — free tiles, real geography.

4th & Market

SEV1 · 3 priors

Howard St Underpass

SEV2 · 2 priors

5th & Mission

SEV2 · 1 prior

Team Wins
Morale gets a number too

Issues resolved, days since the last SEV1, safe miles logged, driver shoutouts — four counters that exist purely to celebrate the team, sitting right next to the safety data instead of buried in a separate tool.
Positive framing, same underlying incident data.

9

Issues Resolved

6

Days Since Last SEV1

2,140 mi

Safe Miles Logged

4

Driver Shoutouts

-40%

SEV1 vs Last Month

500 mi

AV-11 Clean Streak

On Target

Night ODD Coverage

0

SEV1 This Week

Vehicle Damage Summary
Maintenance, not just incidents

Per-vehicle damage tracked by component and severity — cosmetic, minor, moderate — with an open/resolved status, so maintenance planning doesn’t require cross-referencing a spreadsheet against the incident log.
Four vehicles, four fixture entries — the same typed shape a real maintenance feed would use.

ODD Coverage & Ingestion
Coverage and ingestion, always visible

Day/night/rain/dense-traffic passes track against campaign targets right on the dashboard, next to write-rate, storage, and sensor-sync status.
No separate log to dig through for either one.

Downtown ODD Loop — 6 / 10 passes

Day — 4 passes

Night — 1 pass

Rain/Wet — 1 pass

Dense Traffic — 2 passes

Payload Ingestion

148.4 MB/s write rate

842.5 / 1024 GB storage used

Sensor streams synced

Vehicle Damage Summary panel from the live Fleet Dashboard

Create a free website with Framer, the website builder loved by startups, designers and agencies.