A boardroom-grade sales-ops portal, designed so a Director knows within five seconds whether anything needs their attention today.
Three source documents described three different products. The PRD said the Director was strictly read-only across seven screens. The live build let Directors create departments, teams and managers — across four analytics tabs, with no lead board and no reports centre. And the functional spec flagged its own UX debt: every screen kept its own independent time filter.
Nobody had reconciled them. So the first deliverable wasn't a screen — it was a decision table.
v1.0 used the Material Dashboard reference for layout and behaviour only, then invented its own indigo-blue accent and dark-navy sidebar. The feedback was blunt: replicate the reference literally. So I re-skinned the entire system — near-black as the only functional UI colour, a white sidebar, colour reserved for data alone — and left the structure, screen architecture and data model untouched. A re-skin, not a re-plan.
Indigo accent, dark-navy gradient sidebar, per-module colour coding. Reads like every other dashboard template.
#17181C is the only functional colour — buttons, active nav, KPI icon squares. Green and red belong to the data.
Hero KPIs with signed deltas, call outcomes across the week, temperature split, and a ranking table that is the entry point to every rep.
Label, value, signed delta stacked left; a 44px black icon square top-right. Never a left accent bar, never module-coloured. Numbers roll up from zero on load.
Every button and active nav state is black. Green, slate and red exist only inside charts, deltas and status pills — so colour always means something.
Every row that names a person routes to their Executive Profile; every lead card to Lead Detail. The table is a navigation surface, not a readout.
The real shell, wired: sidebar navigation, the global period filter every screen reads from, and the Executives / Managers toggle. Unbuilt screens return the placeholder they were specified to return.
Switch the period and every number above it moves. No screen in the system owns its own date filter — a rule set in Step 1 so twelve screens could never drift apart.
Every nav item routes somewhere from day one. Screens that weren't built yet return a labelled placeholder rather than a broken click — the wiring was the deliverable.
Dashboard, Mapping and Leads share one chrome and one colour rule. Black is structure; green, slate and red only ever appear inside data.
Retail sits at 18% coverage on 88 mapped contacts — five calls initiated. The three-tier badge makes that visible in one downward scan of a column.
The PRD specified a lead board; the shipped product had none. I built it as a funnel with the conversion rate at every step, then the cards beneath it.
A transparent modal backdrop, filter state lost on scroll, no confirm-before-discard, no success toast, and hand-rolled skeletons per tab — all flagged in the functional spec, all specified out in v1.1.
I designed the whole Director portal before a single Director used it. The reconciliation table was the right instinct; validating it with two real Directors before locking twelve screens would have been better.
Thirty days of primary research, turned into a phase-adaptive product.