Skip to content
Creative Nomad DesignCREATIVE NOMAD
← All work
03Battle Motors — fleet management SaaS

Fortris Command

Designing and shipping enterprise fleet-management UX at scale — a 35-page production dashboard with design-system governance.

Command dashboard — the fleet at a glance
Command dashboard — the fleet at a glance▤ Image
Client
Battle Motors
Role
Design lead + front-end
Year
2026 (v3.0)
Surface
35 page components
Validation
24 Zod schema files
Stack
React 18 · Vite · Recharts
01The challenge

Fortris Command is a production fleet-management dashboard used by operators daily. It had to reach parity with a legacy Battle Console while modernizing the experience — and it grew to 35 distinct page surfaces, from Dashboard and MyFleet to TPMS, VehicleHealth, Inspections, Routes, Revenue, Billing, and Administration.

At that surface area, the risk isn't building a screen — it's governance. Thirty-five pages built without a system become thirty-five different products. The challenge was to design once and apply everywhere, with typed contracts strict enough that the app stays coherent as it scales.

02The approach
01

A drillable card system

The design system centers on two primitives — DrillableCard and KpiCard — with documented spacing, typography, and hover behavior. KPI cards drill into filtered lists; two-row, eight-tile dashboards give operators a glanceable command view. Documented in docs/Fortris-App_CONTEXT.md so the pattern is governed, not improvised.

02

Typed contracts everywhere

24 Zod schema files validate the data crossing every boundary. In an enterprise dashboard pulling live fleet data, typed contracts are what keep 35 pages from drifting into inconsistency — and what let the team ship confidently against a moving backend.

03

Real enterprise plumbing

Axios with JWT auth, Vitest + Testing Library for tests, Sentry for error monitoring, Stripe for billing. The stack signals that this is a real product with real customers, not a prototype.

03Design Governance

With 35 pages, the system is the product. Governance lives in a context doc and a small set of primitives that every page composes from.

Recharts powers the data visualizations; Leaflet + react-leaflet power FleetLocations maps. The card system and spacing rules are documented so new pages inherit the standard instead of reinventing it.

PrimitiveRoleBehavior
KpiCardHeadline metric tileDrills into a filtered list
DrillableCardComposable content cardDocumented hover + spacing
Dashboard gridCommand overviewTwo rows × eight tiles
Zod schemas (24)Typed contractsValidate every data boundary
04Motion vocabulary

Drill interaction

The signature interaction: a KPI card drills into its underlying filtered list. The transition has to feel instant and traceable so an operator never loses context — motion in service of comprehension, not spectacle.

Data in motion

Recharts visualizations and live map updates animate as fleet data changes, keeping a dense operational view legible at a glance.

05Selected work
01

Command dashboard

A two-row, eight-tile overview giving operators the state of the fleet at a glance, each tile a drillable KPI.

02

Operational surfaces

MyFleet, Trucks, TruckDetail, TrucksDown, FleetLocations (map), Routes, Schedule, Inspections, Safety, TPMS, VehicleHealth, Alerts — the daily operating surface for a fleet.

03

Business surfaces

Revenue, Billing (Stripe), Companies, FleetOwner, Warranty, Reports, plus Administration and MDM admin tooling — the full enterprise envelope around the operational core.

06Captures
Vehicle Health — comprehensive diagnostics
Vehicle Health — comprehensive diagnostics▤ Image
Route Master — deviation tracking
Route Master — deviation tracking▤ Image
Truck detail — per-vehicle drill-down
Truck detail — per-vehicle drill-down▤ Image
AI-driven insights
AI-driven insights▤ Image
System health & alerts
System health & alerts▤ Image
Productivity benchmarking
Productivity benchmarking▤ Image
Real-time fleet view
Real-time fleet view▤ Image
Predictive maintenance
Predictive maintenance▤ Image
DVIR — compliance & inspection alerts
DVIR — compliance & inspection alerts▤ Image
Smart efficiency scoring
Smart efficiency scoring▤ Image
Operational reporting
Operational reporting▤ Image
07Before / After

Built for parity against a legacy Battle Console, then taken past it — same coverage, modern stack and UX.

Console
Before

Legacy Battle Console

After

React 18 + Vite, 35 modern surfaces

Consistency
Before

Per-screen one-offs

After

DrillableCard / KpiCard system, documented

Data safety
Before

Untyped data flow

After

24 Zod schemas validating every boundary

08Outcome

A production enterprise dashboard that scaled to 35 pages without fragmenting — the proof point that I can design and front-end a real SaaS surface at scale.

35

Page components in production

24

Zod schema files

v3.0

Shipped, in daily use

1

Documented design system

3

Major versions shipped

100%

TypeScript — typed at every boundary

What I owned

Original wireframes and end-to-end UI/UX in Figma, design-system definition (DrillableCard / KpiCard), dashboard information architecture, front-end implementation, typed-contract discipline with Zod, and the governance documentation that keeps 35 pages coherent.

Next case — 04

2027 Raider ICE Data Book

Want something like this?

Start a conversation