ShieldThemes Web Development
+1 (415) 555-0142 Get a quote →
← Journal/Design

A design-to-development handoff that does not lose detail

Handoff problems are rarely about tools. They come from missing states, unclear intent and late involvement. How we keep design and code aligned.

Maya Okafor
Maya Okafor
Head of Engineering · Mar 18, 2026 · 5 min read
A design-to-development handoff that does not lose detail

Every agency and product team has a version of the same story. The design looked great in Figma, the build looked roughly like it, and the difference between the two was made up of a hundred small things: spacing that drifted, states that were never designed, text that wrapped differently, an animation that was dropped because nobody specified it. People tend to blame tools or blame each other. In our experience, handoff problems are rarely about tools. They come from involving developers too late, designing only the happy path and leaving intent unstated. All three are fixable with process.

Handoff should not be a single moment

The word handoff suggests a baton pass: design finishes, then development starts. That model guarantees problems, because developers discover constraints after decisions are locked, and designers discover implementation issues after they have moved on to other work.

On our projects, a developer joins design reviews from the wireframe stage. They are not there to veto ideas but to flag early when something is expensive, conflicts with the platform or needs data that does not exist. A thirty-minute conversation during wireframing can save a week of rework later. Equally, a designer stays involved through the build, reviewing work in progress rather than only at the end.

Design every state, not just the happy path

The most common source of gaps is missing states. A design shows a product card with a perfect photo, a two-word title and a round price. Production has missing images, sixty-character titles, sale prices, sold-out items and slow network connections. When developers encounter a state that was not designed, they improvise, and the improvisations add up.

Before any screen is considered ready, we check it against a list of states:

  • Empty: no data yet, such as an empty cart or a new account.
  • Loading: what appears while content is fetched, including skeletons or spinners.
  • Error: failed requests, validation errors and permission problems.
  • Edge content: very long and very short text, missing images, large numbers, many items.
  • Interactive states: hover, focus, active, disabled and selected for every control.
  • Responsive behavior: how the layout adapts between the breakpoints shown, not only at them.

Not every state needs a full mockup. Often a short annotation or a reference to a design system pattern is enough. What matters is that nothing is left to guesswork.

Handoff problems are rarely about tools. They come from late involvement, missing states and intent that was never written down.

Share a language: tokens and components

Pixel measurements are a poor handoff format. If a design says 18 pixels of padding and the codebase uses a 16 and 24 pixel scale, the developer has to guess whether 18 was deliberate. When design and code share tokens for spacing, color and type, and a common set of components, the conversation changes from pixels to names. A card uses the standard card component with space.4 padding and text.heading.small for the title. There is nothing to interpret.

This is why we push clients toward even a lightweight design system before a large build. It does not need to be comprehensive. A token set and a dozen core components remove most of the ambiguity in day-to-day handoff. For WordPress builds, we map those components directly to blocks, which is a large part of why our Figma to WordPress projects stay close to the original design after launch, when editors start creating their own pages.

Explain intent, not just appearance

A mockup shows what something looks like at one moment. It does not explain why. Short annotations that capture intent help developers make good decisions in situations the design did not anticipate.

  1. Priority: which elements must stay visible on small screens and which can collapse.
  2. Behavior: what happens on interaction, including timing and easing for any motion.
  3. Content rules: truncation, maximum lengths and fallbacks.
  4. Accessibility: heading levels, focus order, labels for icon-only buttons and announcements for dynamic changes.

We keep these annotations in the design file next to the relevant frames, and we record short walkthrough videos for complex flows. A five-minute video of a designer clicking through a prototype and explaining the reasoning answers dozens of questions before they are asked.

Close the loop with design QA

Finally, build review into the definition of done. Before a feature is accepted, the designer reviews it on a staging environment on real devices, checks it against the design and the list of states, and logs discrepancies as tickets with screenshots. Most issues found this way are small and quick to fix, but together they are the difference between a build that feels right and one that feels slightly off.

Make design QA routine rather than a final phase. Reviewing each feature as it lands keeps the backlog of visual issues small, and it catches misunderstandings early, before they are copied into other templates. We budget roughly ten percent of design time for QA on every project, and we have never regretted it.

When handoff works, the benefits compound. Developers make fewer guesses, designers spend less time redrawing, and clients get a product that matches what they approved. Our design systems work sets up the shared foundation, and our React front-end team builds components that mirror the design library one to one.

Close the gap between design and build

If your launches never quite match the designs, we can review your process or take on the build ourselves. Get in touch for a fixed-price quote within 24 hours.

Maya Okafor
WRITTEN BY
Maya Okafor
Maya leads engineering at ShieldThemes. She has shipped more than 120 WordPress and Laravel platforms and writes about architecture that survives its second year.
All articles by Maya Okafor →
Want this on your project?
Get a fixed-price quote from a senior lead within 24 hours.
Request a quote →

Keep reading

How we shipped a support agent that resolves 62% of tickets
AI · 5 min
How we shipped a support agent that resolves 62% of tickets
What to learn in the two weeks before a website redesign
Design · 5 min
What to learn in the two weeks before a website redesign
Migrating to Shopify Plus without losing a single ranking
Shopify · 5 min
Migrating to Shopify Plus without losing a single ranking