Marcelo Paiva
A woman in a shawl faces a desktop monitor showing another woman raising her hand, swirling background behind them.Meant to show: A designer with low vision at the size she needs, making the change herself in the product's real material instead of handing over a picture of it.

CCDS: a design system that ships itself

A running prototyping sandbox built on the real component package and the real tokens, with enforced token tiers and component contracts — so a prototype is made of the same material as the product. Built in two weeks; forked by someone else two days after I showed it.

Role
Design system architecture, component design and implementation
Year
2026
Built with
TypeScript, React, Vite, Design tokens, Retrieval and citations, AI agents

The problem

A drawing of a screen answers questions about layout. It cannot tell you what the keyboard does, what a screen reader says, or how the page behaves on a phone. So every approved drawing gets rebuilt in code, and the rebuild is where the time, the money and the details go missing.

Prototypes made of the product

CCDS is a sandbox that a designer or product manager runs on their own laptop. It uses the real component package and the real ClearCo tokens. So anything built in it is made of the same material as the product and does not have to be rebuilt.

The rules are enforced rather than written down. Components use named tokens, never raw colors, and a build fails if a token is missing, a value drifts or the docs name something that does not exist. A rule that fails a build survives a deadline. A rule in a wiki does not.

The design language, accessibility standard, voice and component specs live in the repository as plain markdown. People read them, and so do coding agents, before they generate anything. One specification serves both.

Adoption

I built it in two weeks, working with an agent. Two days after I showed it, someone forked it into their own repository without being asked. Nobody nodding in a meeting has ever told me as much as that did.

AI built in

My team built an assistant into the sandbox, and it answers questions about the system itself. The model first picks the reference pages most likely to hold the answer, then answers only from those pages, with citations that link back to them. If the answer is not there, it says so instead of inventing a component.

Some people in the test data asked to be erased. A build gate checks every piece of text a model could be handed, and fails if one of those names appears anywhere. A privacy promise that nothing tests is only a promise.

Where this is going

I am still at ClearCo, leading the team that builds on this. The aim has not changed: stop paying for design twice. A static mockup is paid for once to draw and again to rebuild, and then it is thrown away. The first version of anything we design should already be working code. Customers can use it, engineers can ship it, and nobody has to translate it.

Every screen we prototype this way is one fewer handoff, one fewer rebuild and one fewer week spent waiting to learn what a customer thinks. That is where I am taking the team.

About the drawing

The drawing for this piece was generated, not chosen. Hashing the piece’s name fixes one point on the color wheel; the other two follow from it. The same name always gives the same three colors.

#b9aa3c#3f7db4#763cb2

How this drawing was made

The line under the drawing marked “Meant to show” is written by a person, not the model. A generated drawing keeps what is large and loses what is small, so the detail that decides who someone is can go missing, and a picture only reaches people who can see it. Where the drawing and that line disagree, the line is the intent.

Or press the left arrow and the right arrow.