Jarvis Design System

Jarvis is the CMS that El Confidencial's 200+ journalists write in, and I'm its only designer. I built the design system behind it and still maintain it: hundreds of components and tokens (named values for color, type and spacing) that keep the product consistent and give developers something exact to build from.

Role
Lead product designer
Client
El Confidencial
Focus
Design systems
Year
2023–present
Jarvis Design System

Why Jarvis needed a system

Jarvis was designed and built at the same time, for a newsroom of more than 200 journalists. Without a shared system, every new feature would have come out slightly different. I needed one source that kept features consistent and was precise enough for developers to build from directly.

Three frameworks, one look

The CMS combines three frameworks: Plate.js for the Notion-style text editor, MUI (a widely used library of Material Design components) for much of the existing interface, and shadcn as the main design framework. Rewriting the MUI parts in shadcn wasn't realistic, so I restyled the MUI components to match shadcn. The product reads as one thing without a full rewrite.

Three frameworks, one look

Foundations

Design system architecture

Atoms

Once the tokens existed, I built the basic pieces first: buttons, dialogs, modals and the other small parts everything else is made from.

Atoms

Molecules

From those I built the components only a CMS needs, the ones MUI and shadcn don't include. Each has its own Figma page with the base component and examples of how to use it.

Molecules

Templates

The screens journalists use most became templates, assembled entirely from components and tokens. We could change a piece without breaking the screen around it.

User flows

The CMS and the system were built at the same time, so I drew the user flows with real components. Developers saw requirements in the parts they would actually build, and screens carried over from one iteration to the next.

User flows

The system today

Hundreds of components and variables across atoms, molecules and templates. Every Jarvis screen is assembled from this library.

Takeaways

The library is connected to Claude through Figma's MCP server, which lets an AI model read the Figma file directly. We can generate components from the same tokens, find existing ones with hardcoded values, and get closer to production code straight from the file. Handoff has become noticeably more efficient, though we haven't measured it. Prototypes and other artifacts are now built in Claude Code.