Skip to content
GM Creatives

Insights / Creative Technology

Design and code are one conversation

The gap between a design file and a working product is where quality gets lost. Why the best digital work treats designing and building as a single process.

Published
Read
2 min
Author
Gabriel Mills

In many projects, design and development happen in sequence. A designer produces beautiful screens, hands them over, and a developer tries to rebuild them in code. Somewhere in that handoff, things get lost: spacing drifts, animations disappear, edge cases nobody designed for get improvised, and the finished product looks like a slightly worse copy of the mockup.

This isn't usually anyone's fault. It's a process problem. Design and code are treated as two separate conversations, when they should be one.

What gets lost in the handoff

  • States. Designs often show the perfect case. Real products need loading states, error messages, empty screens and very long names.
  • Responsiveness. A desktop mockup and a mobile mockup don't explain everything in between.
  • Motion. How things move is hard to describe in a static file, so it's often skipped.
  • Content reality. Placeholder text is always the right length. Real content rarely is.
  • Technical limits. Some ideas are slow, inaccessible or expensive to build, and that only becomes clear late.

Design systems: a shared language

A design system is a set of reusable decisions: colours, type sizes, spacing, buttons, form fields and the rules for using them. Designers use it in their files; developers use the same decisions as code. When both sides refer to "heading large" or "accent" and mean exactly the same thing, far less gets lost.

Design tokens take this further. They store each decision as a named value, such as a colour or a spacing step, that both design tools and code can read. Change the token once and it updates everywhere.

The best handoff is no handoff: designers who understand the build, and developers who care about the design.

Prototype in the real medium

Static mockups are useful for exploring ideas, but some decisions can only be made in the browser: how a menu feels when it opens, whether an animation helps or distracts, how text reflows on a small phone. Building quick prototypes in code early answers these questions while they are still cheap to change.

Motion with a purpose

Animation is one of the clearest examples of design and code needing each other. Good motion explains things: where a menu came from, what changed after a click, which element deserves attention. Bad motion just delays people. Deciding which is which requires seeing it run, at real speed, on real devices, including for people who prefer reduced motion.

What this means for a project

  • Involve development thinking from the first design conversation.
  • Design the full set of states, not just the ideal screen.
  • Agree a shared system of colours, type and spacing before producing pages.
  • Review work in the browser, not only in design files.
  • Treat accessibility and performance as design requirements.

When one team holds both sides of the conversation, the finished product looks like the design, works like the plan, and feels considered in the places a mockup never shows.

Want help putting this into practice? We work on exactly this every day.

Start a project