Fiuto: from an approved design to real components

A handoff is where a design most often loses its detail. The specification names which components to reuse, which states the screen has and how it behaves across viewports and themes; developers then rebuild it in code and someone checks the result against the design. Translating the agreed mockup into real components inside the coding agent, before implementation starts, removes that rebuild, provided the agent knows the component system well enough to reuse what exists instead of drawing it again.

Role
Founder
Year
2026
Team
Solo, with Claude Code
Shape
One session, about two hours from the design prompt to committed components
Six Ladle stories from the handoff, each labelled with its name. Five desktop rows show the access states: only you, shared with two people, shared with five and an overflow count, public with the globe alone, and public with people. Beside them, the mobile cards story shows the same rows folded into cards.

What the handoff delivered. The states as named Ladle stories rather than a picture of them, each one addressable by the build agent. Five cover what the sharing indicator can say, and a sixth folds the same rows into the mobile cards. The theme you are reading in is the other answer: the components were rendered in both without being asked for either.

Context

The previous part stopped on an agreed mockup for the studies list. This one turns that mockup into components the build agent can implement from, before any production code is written. A mockup does not tell a developer which existing components to reuse, which states the screen has, how it behaves at mobile width or whether it holds in both themes; the translate step of the /ux family answers those questions in the repository itself, producing components in Ladle that already render and a brief for a fresh build session. This part follows that step through a two-hour run, including what went wrong at its end.

Five things the handoff had to answer

The handoff for the studies list had to settle five things before the build agent could start.

  1. Which existing components the design reuses. The privacy block already existed as a stacked component in the codebase, and rebuilding it for one list would have created a second version of the same element to maintain.
  2. The states the list can be displayed in, drawn as variants, since a developer given only the default state will invent the others.
  3. A mobile version, because a list agreed at desktop width and adapted later usually loses its hierarchy in the adaptation.
  4. Both colour modes, so that the review happens once and covers both themes.
  5. A brief the build agent can read from a fresh session, since the design session’s context will be gone by the time implementation starts.

In most handoffs each of these lands in a different document and the developer reconciles them. Here they land in one place, the repository, as stories and a project brief.

01The pipeline

Translate and handoff in the /ux family

The /ux orchestrator from the previous three articles runs the last stages of its pipeline here. Translate picks up where ideate left off: it takes the agreed mockup and generates the components in Ladle, reusing what the repository already has, and waits for one approval from me, that the render is close enough to the product to commit. The handoff then packages the result for the build family, a separate set of skills that plans and implements the live feature, which is the subject of the next article.

TranslateThe agreed mockup becomes components in Ladle, each element mapped to an existing component where one exists.

RenderDraws the surface with its display states, a mobile version, and both light and dark mode.

FidelityA comparison of the Ladle render with the approved mockup, as in the previous parts.

HandoffOnce the components are committed, the brief is written and the project the build agent starts from is created.

The handoff itself comes when I ask for it, since the build agent works from a fresh context and everything it needs has to be in the brief and the stories by then.

02The session

What is in this video

At 0:00 Ladle is on screen with the studies list rendered, very close to the page as it exists in the product. Ideate had produced the mockup I picked, and I had left translate out of the previous video because it had already been shown in the earlier parts; this one starts from its output.

Beside the live product, one block is missing from the render, the privacy block. My reading in the session is that translate left it out because a stacked privacy block component already exists in the codebase and the story reuses it. The render includes a few variants for the states the list can be displayed in, and a mobile version. The components also work in both colour modes without my asking, which I only point out at 2:23 while showing the app.

The scope is set at 1:36: the pattern will probably reach other lists later, but for now the work is the studies list only. From the start of the design session to the components generated in Ladle took about two hours, and what is left is the build process. I tell the agent the result looks great and ask it for three things: commit the changes, fix an issue with the /ux-translate skill that had cost me 10 to 15 minutes in a new handoff, and create the project that hands off to the build agent.

The session. The components in Ladle at the start, the brief for the build agent at the end, five minutes apart. The full run, from the design prompt to the committed components, took about two hours, including the 10 to 15 minutes lost to the translate bug.

The orchestrator does the three things I asked for, with one problem. Merging the small updates onto the dev branch went wrong: the session had been running for two hours and the orchestrator was starting to make silly mistakes, which I read as running out of context, so I opened a separate session and fixed the merge there. The skill fix then landed, and translate now passes the correct context to the /ux-translate agent. Finally the brief is generated: a high level handover to the implementation workflow, with the concrete states already in the repository as stories, so the build agent can start from a fresh context and wire parts that already render.

The context bug came first: translate was handing the /ux-translate agent the wrong context, and a new handoff started on it. That cost 10 to 15 minutes. Then the merge of the small updates onto the dev branch went wrong at the end of the two-hour session and was fixed in a second one. After this run I changed the translate step so that it receives the exact approved mockup markup with the target surface, its states and viewports, inventories the component system before mapping any element, and resolves each element to an existing component, a deliberate edit of a shared primitive or a new one to formalise; a fidelity review that finds a material difference now sends the specification back for one amendment before I decide whether to accept it or reopen the design.

Conclusion

Of the five questions a handoff has to answer, the translate step settled four on its own: it reused the existing privacy block instead of drawing a second one, rendered the states as variants, added the mobile version, and covered both themes without being asked. The render made each of those answers visible in seconds beside the live page, reuse included, since the block it left out was the one it already had. The fifth, a brief someone outside the design conversation can start from, came only when I asked for it, and by then the session had run long enough for the agent to lose its context, so implementation begins in a fresh one.

Two hours was enough to reach the handoff with components, states, viewports, themes and a brief, and too long for the agent to keep its context: the final merge needed a second session.

Sources

Case studies

36 case studies

No filters

Focus

Discipline

Complexity

Sector

Consumer apps

Platform

  1. Tailored meal plan

    • Samsung Food
    • 2025
    • 11 min read

    How I worked through the design process to move from an empty planner to a generated weekly plan.

  2. Share panel redesign

    • Fiuto
    • 2026
    • 6 min read

    How I use a set of custom skills to redesign complex features inside the coding agent, without Figma.

  3. Figma to code

    • GitLaw
    • 2026
    • 7 min read

    How I connected GitLaw's Figma library and code in both directions, with Storybook as the source of truth.

  4. Recipe AI

    • Samsung Food
    • 2023
    • 5 min read

    How I started integrating generative AI into native, user facing app features.

  5. Shareable insights

    • Fiuto
    • 2026
    • 6 min read

    How I take a research finding to a feature on staging.

  6. Health dashboard

    • Samsung Food
    • 2024
    • 8 min read

    How I designed Samsung Food's first health dashboard, with progress against the goals users set.

  7. Study sharing design

    • Fiuto
    • 2026
    • 5 min read

    How I ground a new feature in the code, the roadmap and the market before designing it.

  8. Casual meal planner

    • Samsung Food
    • 2024
    • 10 min read

    How I designed a to-do list mode in the planner for users who plan casually.

  9. Weekly competitive research

    • Fiuto
    • 2026
    • 6 min read

    How I turn a competitive finding into new projects on the roadmap in one session.

  10. Ingredient substitutions

    • Samsung Food
    • 2023
    • 5 min read

    How I designed ingredient swaps that let users adapt any recipe to their diet.

  11. Onboarding prototype

    • Fiuto
    • 2026
    • 6 min read

    How I prototype a whole user journey in the product's own components.

  12. Health goals

    • Samsung Food
    • 2023
    • 10 min read

    How I designed meal recommendations and a planner around users' own calorie and macro targets.

  13. Visual QA with agents

    • Fiuto
    • 2026
    • 5 min read

    How I review a delivered feature with ten agents testing it in real browsers.

  14. Meal swaps

    • Samsung Food
    • 2024
    • 8 min read

    How I took a meal swap from Beta feedback to release through thirteen sprints of scope negotiation with engineering.

  15. Admin components redesign

    • Fiuto
    • 2026
    • 5 min read

    How I design and build shared admin components in one coding session, with no Figma handoff.

  16. Planner improvements

    • Samsung Food
    • 2024
    • 9 min read

    How I took five planner briefs from hypothesis to handover under one mission.

  17. Study sharing handoff

    • Fiuto
    • 2026
    • 6 min read

    How I turn an approved mockup into real components, with states, mobile and both themes.

  18. Study sharing build

    • Fiuto
    • 2026
    • 6 min read

    How I run planning, implementation and checks as one pipeline, and settle the decisions the agent hands back.

  19. Study sharing release

    • Fiuto
    • 2026
    • 6 min read

    How I take a feature from staging to production.

  20. Onboarding build review

    • Fiuto
    • 2026
    • 6 min read

    How I review a built onboarding flow against its prototype and send each fix back.

  21. Illustrations and animation

    • Fiuto
    • 2026
    • 6 min read

    How I place illustration and animation on a working screen in minutes, by asking the coding agent.

  22. Profile access A/B test

    • VAHA
    • 2021
    • 4 min read

    How I designed the profile and its privacy settings for a smart mirror's companion app.

  23. Sportsnet app concept

    • Sportsnet
    • 2021
    • 10 min read

    How I co-created a sports app concept for younger fans with the Rogers team.

  24. Partner app onboarding

    • Utility Warehouse
    • 2020
    • 8 min read

    How I designed onboarding for new partners in a six-week Shape Up cycle, to reduce first-year drop-off.

  25. Access and entitlements

    • Discovery
    • 2019
    • 9 min read

    How I redesigned sign-up for users who could not tell a free account from a subscription.

  26. WWE Network native apps

    • WWE Network
    • 2018
    • 8 min read

    How I owned the UX of WWE Network's iPhone, iPad and Android apps on Massive's AXIS platform.

  27. Navigation redesign

    • DAZN
    • 2017
    • 10 min read

    How I redesigned navigation and tiles to give DAZN users quick access to content.

  28. Community and gamification

    • VAHA
    • 2021
    • 11 min read

    How I designed community and gamification features for VAHA, from a team workshop to the design system.

  29. Join funnel

    • Utility Warehouse
    • 2020
    • 9 min read

    How I redesigned Utility Warehouse's sign-up steps to make a multi-service bundle easier to join.

  30. Self-service account

    • Discovery
    • 2019
    • 9 min read

    How I designed a self-service account area for Discovery's streaming products.

  31. BritBox acquisition and account

    • BritBox
    • 2019
    • 9 min read

    How I designed BritBox's first UK sign-up and account journeys in two sprints.

  32. NFL Game Pass white label

    • NFL Game Pass
    • 2017
    • 9 min read

    How I designed a white-label NFL Game Pass to test DAZN's product as a service for sports leagues.

  33. Remote appointments

    • Utility Warehouse
    • 2020
    • 7 min read

    How I redesigned Utility Warehouse's remote appointment when lockdown made it essential.

  34. Native playback

    • Discovery
    • 2020
    • 8 min read

    How I specified playback for every Discovery streaming app, embedded in the platform's tech team.

  35. Univision sports streaming

    • Univision
    • 2018
    • 6 min read

    How I designed the UX of a direct-to-consumer football service for Univision on web, apps and Chromecast.

  36. Offline downloads

    • DAZN
    • 2016
    • 6 min read

    How I designed downloads for watching catch-up sport offline in DAZN's iOS and Android apps.

Send a message

Tell me about the role and when it starts, and I will reply by email.