My solution is about closing the gap between design and code with designing real, fully working components.
I designed a Contra-inspired profile card in Paper, then built a workflow that turns it into real, working React components.
The workflow in 3 steps:
→ Creating a contra.com (http://contra.com) style guide inside Paper, then asking it to create a copy of the profile card. Then making some refinement using the canvas and the design tools (I even added some new functionalities to the card, e.g. the fun fact section)
→ Paper design → component spec. My Claude skill reads the Paper file, including component states and the written explanations you might attached to your design, and writes a structured markdown specification with a component tree and these specs: appearance, user interactions, states, required input data.
→ Spec → working components. A second Claude skill generates real React components in Storybook and verifies each one against the Paper design until it matches: typography, colors, spacing, states.
(Btw. Storybook is a living catalog of your product's UI components, where each one runs in the browser as a real, interactive preview, so designers can click through every state and variation exactly as users will experience it, without waiting for the full app to be built around it.)
If you don’t design something, someone else (an AI, a developer) will. (It’s not necessarily a bad thing, but you need to be deliberate about what parts you want to outsource.)
With this workflow, you get to review and complete your design at two points:
→ first, when you get the detailed specification: you can take a quick look at it and fill in the gaps if needed
→ second, when you can play around with the live, fully coded components inside Storybook. You can also run tests to check e.g. whether the component is accessible or not.
With these two review steps built in, you can be sure that your design intent truly gets translated to code.
You can modify the spec, tweak the design in Paper, regenerate the components, and iterate until the result matches what you actually had in mind. No more redlining screenshots or re-explaining hover states in Slack.
Tools: Paper, Claude Code, Storybook, React.
MCP Servers: Paper, Storybook, Chrome DevTools
(Btw. I also created the slide deck inside Paper using Claude from VS Code)
I'll be open-sourcing both Claude skills and the full workflow in the coming days, so you can use it in your own projects and start closing the gap between design and code the same way. Stay tuned!
Thanks for the challenge @Stephen Haney @Contra HQ