[ Case study ]
The previous design handoff shipped beautiful static frames that engineering rebuilt at 60% fidelity — spacing invented, states missing, edge cases undrawn. The dev team had stopped asking questions and just decided things themselves.
CLIENT a client-portal product for creative agencies — FOCUS Design the states, not just the screens
Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.
Four people build a client-portal product for creative agencies — two engineers, a founder who sells, and, until shortly before the engagement, a designer. Agencies share deliverables, proofs, and approvals with their own clients through it. The product works and retains agencies, but it grew feature-first: whatever the newest deal needed got built, so screens accumulated with different spacing systems, and the two engineers hold the interface's real spec in their heads.
The previous design handoff shipped beautiful static frames that engineering rebuilt at 60% fidelity — spacing invented, states missing, edge cases undrawn. The dev team had stopped asking questions and just decided things themselves.
We proposed designing the system the build actually consumes: every screen specified with its empty, loading, error, and permission-denied states, annotated in Dev Mode with behavior notes and token references, and walked through with the two engineers in a guided build-path session. With no designer in their sprints, the file itself had to answer questions instead of provoking them — annotations and auto layout turn measurements into facts. We scoped the first release to the five most-used screens so the two-person engineering team could absorb the new way of working inside a normal sprint rather than a rescue project.
Just as important is what we ruled out, and why:
Every screen shipped with its empty, loading, error, and permission-denied states — the 14 forgotten states became designed reality.
Specs, behavior notes, and token references live in the file with auto layout done properly, so measurements are facts, not screenshots.
One working session traced the build order through the file — the engineer left with a checklist instead of 40 frames and questions.
Delivered by the experience pod — 2 designers over 5 weeks, with working increments reviewed with the client every week.
Obstacle
The permission-denied states forced product decisions nobody had made: which roles see which sections, and what an agency's client may open versus view.
Handled: We ran one hour with the founder mapping role rules on a whiteboard, encoded them as a state matrix, and designed against it rather than inventing permissions silently.
Obstacle
The full forty-frame file overwhelmed the two engineers exactly as the first walkthrough began — they opened it, scrolled, and visibly disengaged.
Handled: We recut the file into a five-screen first release with a build-order checklist, walked it in one sitting, and deferred the remaining screens until the first sprint proved the format.
The headline: design-to-build fidelity on the first post-handoff release, scored by a joint review — 60% → 95%, read from Design QA audit. A second check: undesigned states discovered during the first sprint at 0.
The engineers stopped deciding design by default, and the founder noticed the quiet: build reviews no longer open with what does this screen do. The first post-handoff release scored its fidelity in a joint review, and the engineers' checklist — not the frame count — became the definition of done. When the founder sells the next feature, the file it gets designed into now answers the two engineers' questions before they think to ask, which is the difference between a handoff and a hand-wave.
The result was read from Design QA audit against the pre-engagement baseline over the stated window, with a guardrail check on undesigned states discovered during the first sprint. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.
What we would do differently
We would have capped the first release's scope to the five most-used screens — the full 40-frame file overwhelmed the small team before the walkthrough fixed it.
[ Related service ]
[ Related builds ]
[ Next step ]
Next case study