<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Christine Vallaure on Medium]]></title>
        <description><![CDATA[Stories by Christine Vallaure on Medium]]></description>
        <link>https://medium.com/@christinevallaure?source=rss-dc020be79c95------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*BUIY6AAkaaXqZXfDafZYag.png</url>
            <title>Stories by Christine Vallaure on Medium</title>
            <link>https://medium.com/@christinevallaure?source=rss-dc020be79c95------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 24 Jun 2026 03:05:26 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@christinevallaure/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[A2UI under the hood: Designing for the new era of radically adaptive UI]]></title>
            <link>https://uxdesign.cc/a2ui-under-the-hood-designing-for-the-new-era-of-radically-adaptive-ui-cebbf5f32fbe?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/cebbf5f32fbe</guid>
            <category><![CDATA[a2ui]]></category>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[ui]]></category>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[ux]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Wed, 17 Jun 2026 22:59:31 GMT</pubDate>
            <atom:updated>2026-06-17T22:59:31.419Z</atom:updated>
            <content:encoded><![CDATA[<h4>An introduction for designers</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QMlFF7T7Jm_BYAqEDSMvyA.jpeg" /></figure><p>As a designer, I am optimistic about this one, and that is not my usual reflex with AI interface design.</p><p>You have probably never heard of it. That is fine, almost no designer has. A2UI still lives in developer corners, written about in code. The idea underneath is worth meeting early, though, because it changes what we do.</p><p>So let me start with the idea, not the acronym.</p><p>Think about how we design today. One screen, or one flow, aimed at an imagined researched user. Everyone who arrives gets more or less the same thing, and we hope it fits.</p><p>Now picture that flipping. The interface is built fresh in the moment, for the exact person or the exact thing they asked for. I do not open my banking app and hunt through menus and dashboards built for everyone. I ask where my money went this month, and I get back just that: a simple chart by category, with the one surprise expense already flagged. You ask, the screen you need appears, then makes way for the next one.</p><p><strong>This is a new approach, called Generative UI or radically adaptive UI</strong>. It is early. The spec is young, most of what exists is still demos, and there is no solid pipeline from design to code yet. But it is already running in a few real products, and it is moving fast enough to be worth your attention.</p><p>A2UI is one of the things that makes it work. It is not a tool or an app you install or buy. It is a protocol, a shared language sitting between an AI and your interface. So when you “use A2UI,” you are not opening it, you are building your app to speak it. Google started it and put it out in the open, with CopilotKit and others now shaping the spec. It sits alongside related protocols like A2A and AG-UI, but no more jargon, let&#39;s look at what this is and what it means for us.</p><blockquote>It is not the only one. There are others, like <a href="https://json-render.dev/">json-render by Vercel</a> and <a href="https://github.com/MCP-UI-Org/mcp-ui">MCP-UI</a> and surely many more. But I am focusing on A2UI as an example.</blockquote><h3>Why am I optimistic</h3><p><strong>It moves us away from generically generated AI interfaces.</strong> The kind built from div soup and more classes than you ever sat through at school. No offence to Tailwind, it is clever and I reach for it constantly when I am exploring. It just should not be the standard for the web we put into the world. You are welcome to disagree.</p><blockquote>The reason is simple: an approach like A2UI only ever builds from a given catalogue of elements. Elements a designer made first, implemented in clean code, with solid CSS, the edge cases handled and accessibility looked after.</blockquote><p>Built the way things are supposed to be built. The interface is then assembled fresh for each request, which is the radically adaptive part.</p><blockquote>This is not only a UI but also a huge UX shift, because the <em>pre-built persona we usually design for, this made-up average user, quietly changes in this scenario.</em></blockquote><p>What we get instead is better: an interface that fits the actual moment.</p><h3>This is our new homework as designers</h3><p>To design for this, we need to understand how it works. Not in deep technical detail. Just the way we already understand what a component is, how a variable becomes a token, and how to name that token so it lines up with code.</p><p>It is not fully here yet. It is moving, and right now, it is mostly developers building and deciding how it works. So let us demystify it and take the seat that is ours. The official A2UI diagram is a stream of JSONL messages, which I suspect just lost most designers in the room. Let us turn it into something our visual heads can hold.</p><h3>First: What the user actually experiences</h3><p>Let us make up an example. We run a hotel chain across the US, and we add an AI-driven interface for our users. Here it shows up as a reply in a chat, but the same screen could just as easily be the whole app, or a panel beside it.</p><figure><img alt="The same screen could just as easily be the mobile chat, side window or whole app." src="https://cdn-images-1.medium.com/max/1024/1*3ETS1hYkSVWdrasmGtBSJQ.png" /><figcaption>The same screen could just as easily be the mobile chat, side window or whole app.</figcaption></figure><h4><strong>User experience today (June 2026)</strong></h4><p>You get either a fixed page or a chatbot, and you tell it you want a hotel in New York in March. It asks for the exact dates, and you type them. It asks how many people. Then check-in, then check-out, one question at a time. If you have ever booked a flight over the phone while trying to compare prices, you already feel the pain in your shoulders.</p><h4><strong>User experience with radically adaptive UI like A2UI</strong></h4><p>You say, “I want a room in New York in March,” and it shows you the interface you need. For example, a calendar for the dates, prices visible in case you are flexible. A stepper for the guests. If you had asked what hotels are available instead, it would show a list with photos and prices.</p><blockquote><em>For the user it is simply this: I ask, and I get exactly the screen I need. Nothing else.</em></blockquote><p>The interesting question is what happens between the asking and the screen, and where we step in, for us designing this experience:</p><p>There is a great little <a href="https://a2ui.southleft.com/demo">demo tool by Southleft</a> to play with for a first experience. This is all brand-new stuff, but you get the gist.</p><figure><img alt="source: https://a2ui.southleft.com/demo" src="https://cdn-images-1.medium.com/max/1024/1*FfHuvF8iNwEOfWh3k8ox0A.gif" /><figcaption>source: <a href="https://a2ui.southleft.com/demo">https://a2ui.southleft.com/demo</a></figcaption></figure><h3>How it works under the hood</h3><p>Two parts do the work, with off-putting names. Let me make them plain.</p><ul><li>One part decides what screen you need and writes the recipe for it. It sits on a server, out of sight. The docs call it <strong>the agent.</strong></li><li>The other part is the app in your hand. It takes that recipe and builds the real screen from your components. The docs call it <strong>the renderer.</strong></li></ul><p>The recipe is just the agent’s instructions for one screen: which of your components to use, and how to arrange them. Written fresh every time you ask for something. And it can only name components that already exist in your system, which is exactly where we come in.</p><h4>Ok so how does that work step by step?</h4><p>This is what we get on the official <a href="https://a2ui.org/">A2UI page</a>. Lovely if you are an engineer, scary for designers.</p><figure><img alt="source: https://a2ui.org/" src="https://cdn-images-1.medium.com/max/1024/1*--uZH0AqAcjoBSBjceEsrQ.png" /><figcaption>source: <a href="https://a2ui.org/">https://a2ui.org/</a></figcaption></figure><p>Let’s make it designer-friendly, shall we? Here we go:</p><figure><img alt="workflow A2UI" src="https://cdn-images-1.medium.com/max/1024/1*iFkHqeBqPBT4urJl9PcuvQ.png" /></figure><p>Let’s run through it step by step.</p><h4>Step 1. You ask</h4><p>The user types or says a plain request: “I want a room in New York in March.”</p><figure><img alt="user request" src="https://cdn-images-1.medium.com/max/1024/1*2wMlWoh3Jipl0nV_HRsmCg.png" /></figure><h4>Step 2. The agent receives it</h4><p>A small program on a server (often Python, using the A2UI Agent SDK). It bundles the request together with your catalog and instructions, and passes that to an AI model.</p><h4>Step 3: The model writes the recipe</h4><p>An LLM (as this A2UI is Google, this would be Gemini, but it would work the same for others) returns a structured description of the screen needed: A2UI messages, streamed line by line as JSONL. This is what some call the “recipe”.</p><p>A simplified contract for our request could look like this:</p><pre>{ &quot;version&quot;: &quot;v0.9&quot;,<br>  &quot;createSurface&quot;: { &quot;surfaceId&quot;: &quot;hotel-booking&quot;,<br>    &quot;catalogId&quot;: &quot;https://moonhotels.com/catalog/v1/catalog.json&quot; } }<br><br>{ &quot;version&quot;: &quot;v0.9&quot;,<br>  &quot;updateComponents&quot;: { &quot;surfaceId&quot;: &quot;hotel-booking&quot;, &quot;components&quot;: [<br>    { &quot;id&quot;: &quot;root&quot;,   &quot;component&quot;: &quot;Column&quot;, &quot;children&quot;: [&quot;title&quot;,&quot;dates&quot;,&quot;guests&quot;,&quot;search&quot;] },<br>    { &quot;id&quot;: &quot;title&quot;,  &quot;component&quot;: &quot;Text&quot;, &quot;text&quot;: &quot;Find your room in New York&quot;, &quot;variant&quot;: &quot;h1&quot; },<br>    { &quot;id&quot;: &quot;dates&quot;,  &quot;component&quot;: &quot;DateRangePicker&quot;, &quot;value&quot;: { &quot;path&quot;: &quot;/booking/dates&quot; } },<br>    { &quot;id&quot;: &quot;guests&quot;, &quot;component&quot;: &quot;Stepper&quot;, &quot;label&quot;: &quot;Guests&quot;, &quot;value&quot;: { &quot;path&quot;: &quot;/booking/guests&quot; } },<br>    { &quot;id&quot;: &quot;search&quot;, &quot;component&quot;: &quot;Button&quot;, &quot;variant&quot;: &quot;primary&quot;,<br>      &quot;action&quot;: { &quot;event&quot;: { &quot;name&quot;: &quot;search_hotels&quot; } } }<br>  ] } }</pre><p>You do not need to read JSON fluently to see it. Each line names an existing element or component (a Column, a Text heading, a DateRangePicker, a Stepper, a Button) and a few properties. A parts list with an arrangement.</p><figure><img alt="catalog visually" src="https://cdn-images-1.medium.com/max/1024/1*Fd5UBC9fvAFu9RHPqacBhQ.png" /><figcaption>Each line names one component from your catalog and how to arrange it. The AI cannot name anything that is not already in the catalog, so it cannot invent a new widget.</figcaption></figure><blockquote>Here is the bit that should make a designer sit up. The model can only name components that exist in the catalog.</blockquote><p>It does not invent a date picker, and it does not generate a random one-off widget. A2UI checks the recipe against the catalog before it is sent and catches any property the model tried to make up. The app checks it again on arrival. No more generic…well, you name it.</p><blockquote><em>So “it cannot invent” is not a hopeful promise. T</em>he agent generates, a validator checks it against your catalog, and it self-corrects before anything reaches the screen.</blockquote><p>That constraint is the whole point, because it hands the next step entirely to us.</p><h4>Step 4. The app renders it using the catalog</h4><p>The renderer, the user’s app on web, mobile or desktop, reads the recipe and builds the real screen from your catalog and your catalog only!</p><figure><img alt="user sees final app" src="https://cdn-images-1.medium.com/max/1024/1*7ylIdZW5e7krUc-twA81cg.png" /></figure><blockquote><em>The intelligence decides what to show. Your design system decides what it looks like and how well it works.</em></blockquote><h3>Where design comes in</h3><p>Everywhere that matters! And this is the stuff that excites me after years of generative AI designs running wild in design:</p><blockquote><em>The entire catalog is design decisions. Not a generative free-for-all. Real design thinking, made readable to a machine.</em></blockquote><h4>Does the catalog hold styles and tokens, or only components?</h4><p>Both. The A2UI catalog is defined as the components the agent may use, the functions it may call, and the styles and themes that go with them, plus instructions for using all of it. Your theming and tokens live here too, not just your buttons.</p><p>And the components are not only tiny primitives. The catalog can hold a plain Button and Text, but it can just as easily hold a HotelSelector or a FlightCard, a rich, branded component you designed for exactly this product.</p><blockquote><em>You are not handing the machine a box of Lego bricks. You can hand it whole pre-built rooms.</em></blockquote><h4>Catalog versus design system</h4><p>Not the same thing, and the difference is clarifying.</p><p>Your <strong>design system</strong> is the broad human thing: the Figma library, the coded components, the tokens, the docs, the taste behind all of it.</p><p>The <strong>catalog</strong> is the slice you expose to the agent, in a format it can read. The menu it is allowed to order from. The official guidance is to build it to mirror your design system, so the agent is held to your exact components and visual language.</p><blockquote><em>One idea, three layers: the system you think in, the contract you expose, the code that runs.</em></blockquote><h3><strong>Where it breaks</strong></h3><p>Here is the honest part: because the constraint that protects you is also the ceiling. The agent can only name what is in the catalog. So when someone asks for a moment you never designed for, it cannot invent its way out. It does the next best thing, and “next best” is exactly the problem. It reaches for the closest component you did build, even when that is a poor fit. It falls back to the plain, basic set that ships with A2UI, the generic look the whole approach was meant to kill. Or it gives up on a screen entirely and drops back to chat.</p><blockquote>And note what the validator does and does not catch. It catches an invented widget or a made-up property. It does not catch bad taste.</blockquote><p>A list where a map would have been kinder, a stepper where a calendar was the point, a screen that is technically valid and still wrong. Nothing in the pipeline flags that. The only thing standing between the user and a near-miss interface is whether the catalog had the right piece in it.</p><p>So the failure mode is not a crash. It is a quiet downgrade, and it lands on us. Every gap in the catalog is a gap the user feels. That is not an argument against A2UI, it is the clearest possible argument for the job: the screens are only ever as good as what a designer put in the catalog to begin with.</p><h3>Why this is huge</h3><p>For years, the careful work, the naming, the states, the tokens, the accessibility, felt like a tax. Worthy, invisible, first to be cut when the time and budget were pressing. Here, that same work becomes the engine. The catalog is the only thing the agent can build from, so the quality of every screen a user ever sees is set by what a designer put in it. Not by a developer interpreting a mockup later. By us designers, upstream, on purpose, into each little element and component.</p><blockquote><em>That is more control over the final outcome than designers have ever really had.</em></blockquote><p>It only works if there is something worth assembling in the first place. Making sure of that is the job.</p><h3>So what prepare as Designers?</h3><blockquote><em>You do not need to learn to write a catalog in JSON. You need to become the person who makes a catalog worth writing.</em></blockquote><p>Whatever an agent reads, we own. In A2UI it is the catalog. In another setup it will carry another name. The label changes, the responsibility does not. The machine builds from a source, and a designer defines the source.</p><p>For now, that source still starts in Figma. I do not care what you say: if you do solid design, you need a canvas to think on, otherwise you get the generic stuff I see everywhere (feel free to surprise me). Today, that canvas is Figma.</p><p>Here is the part to understand, because it looks like a flaw and it is not. Figma expresses only about a third of CSS cleanly, and that number is not a bug. It covers the third, which is visual and static: layout, type, colour, spacing, and components. The rest of CSS is behaviour, logic and runtime. Focus states, container queries, selectors, interaction, the things that only exist once the page is live and a person is moving through it. So what we hand over is partial by nature, not by failure but that still means it is not ideal.</p><p>However, the “then just do not use Figma” is the wrong move in my opinion. You can generate stuff, but if you care about the creative process, you need a tool made for design, not a terminal. The gap is a reason to know Figma’s edges, not to walk away from the canvas. No other tool is built for this either currently, and cramming all of CSS into Figma is not the fix. Designers are already drowning. I spend half my life teaching teams auto layout and props, so trust me, drowning.</p><figure><img alt="Figma css coverage 1" src="https://cdn-images-1.medium.com/max/1024/1*HSuHkM-9hhqcCT5vL7vipQ.png" /><figcaption>These numbers come from a personal audit — 180 core CSS features compared against Figma. Method at <a href="https://www.moonlearning.io/">moonlearning.io</a></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oVZxiGyhL5GgZ42TsfbivQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-oDA1YlP_gu07k4MhRgX_A.png" /></figure><h4>So, concretely, the work for designers is two things.</h4><ol><li><strong>Build clean, solid, structured file</strong>s, the kind that can be read by an agent, can also become a catalog easier in the future: every state designed, semantic tokens that carry intent, names treated as a contract, and a real grip on components, variants, props, and slots, adding context to travel with components, all the features, you now need to know them inside out.</li><li><strong>Then know the gaps</strong>. Know where Figma stops and where you need a translation layer or simply a human has to step in, <strong>because no tool closes that gap for you today.</strong> The catalog like any other agentic design setup today still lives as hand-authored code, just past Figma’s edge, and nobody has built the clean bridge from one side to the other (yet).</li></ol><p>So be very critical of anyone who tells you they have a smooth design (real design) to (real) code workflow with AI. Work with agents, absolutely, but make sure the human supervises. The person stays in the seam, on purpose.</p><p>Because here is the core of it. Design is thought on a canvas, with your hands, fast and visual, because that is the only way anything but generic comes out. The machine needs the opposite: a precise, structured, machine-readable source. Good design needs the canvas. The agent needs the system. And nothing today carries you from one to the other without losing something on the way. That gap is not a bug waiting for a patch. It is the shape of the problem, and for now, only a person can cross it.</p><p>The tool that finally lets a designer think on a canvas or similar creative environment and hand a machine clean-coded elements will decide how everything gets made. I have my fingers crossed for Config 2026.</p><h3>Who is Christine Vallaure, the author</h3><p><a href="https://www.christinevallaure.com/">Christine Vallaure</a>. UI designer, speaker, founder of the learning platform <a href="https://www.moonlearning.io/">moonlearning.io</a> and author of <a href="https://thesolo.io/">theSolo</a>, a book about independent product building. I teach UI design, Figma, and product to the people who want to understand what is actually going on under the hood.</p><p><a href="https://www.moonlearning.io/store">Online courses</a>, <a href="https://www.moonlearning.io/teamtraining">team training</a>, <a href="https://www.christinevallaure.com/speaking">conference talks</a>. If any of that is useful to you, come find me.</p><p>Currently focusing on <a href="https://www.moonlearning.io/agenticdesign">course on agentic AI for designers</a>. Sign to my <a href="https://www.moonlearning.io/newsletters/moonletter">newsletter</a> if you want to know more.</p><p>Constitutionally incapable of writing a short article.</p><p><a href="https://www.linkedin.com/in/christinevallaure/">LinkedIn</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cebbf5f32fbe" width="1" height="1" alt=""><hr><p><a href="https://uxdesign.cc/a2ui-under-the-hood-designing-for-the-new-era-of-radically-adaptive-ui-cebbf5f32fbe">A2UI under the hood: Designing for the new era of radically adaptive UI</a> was originally published in <a href="https://uxdesign.cc">UX Collective</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Agentic AI, design systems & Figma: a practical guide]]></title>
            <link>https://uxdesign.cc/agentic-ai-design-systems-figma-a-practical-guide-6ab0b681718d?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/6ab0b681718d</guid>
            <category><![CDATA[agentic-ai]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[agentic-workflow]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Tue, 31 Mar 2026 22:39:38 GMT</pubDate>
            <atom:updated>2026-04-06T21:08:44.007Z</atom:updated>
            <content:encoded><![CDATA[<h4>The Figma basics you were told to get right just became the foundation for something much bigger.</h4><p>I watched a demo recently that I keep thinking about. Brad Frost, who wrote Atomic Design, joined Dominic Nguyen, co-founder of Chromatic, for a live session called <a href="https://www.youtube.com/watch?v=Vg78K3t9KYc">Agentic Design Systems in 2026</a>. Kyle, a developer experience engineer from the <a href="https://storybook.js.org/">Storybook</a> team, was running it, showcasing their MCP-in-the-making.</p><p>I will be honest with you, as a <a href="https://www.moonlearning.io/">designer and educator</a>, I watch those kinds of demos out of duty to stay up to date, with the quiet knowledge that I am a tourist in someone else’s world. But this one stopped me.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7B4T6VmBzHQIrCVyk_6Wmw.png" /></figure><p>Kyle typed a prompt: “Add a customer reviews component.” No reviews component existed. No design file, no ticket, no Figma frame to point at. The agent found a Star component, Typography, and an Avatar. Read their props, understood their states, composed something new, wrote the code, wrote the tests. The whole thing took less time than it would have taken to write the Jira ticket. The demo was aimed at developers. Watching as a designer, I had a completely different reaction.</p><blockquote>The design system is no longer just documentation for developers. It is instructions for a machine.</blockquote><p>And the person who decides what components exist, what states they have, what they are called and why, is a designer.</p><p>That is not a threat. That is actually the most creative control designers have ever had over what gets built. What Storybook showed was not AI doing design. It was AI that finally knew to use what the designer already built. This is the opposite of vibe coding (no offence, but thanks god!). The agent is not inventing; it is following.</p><blockquote>They had me at “assembling, not creating.”</blockquote><p>Now, here is the thing: none of what makes this work is new. Semantic tokens, consistent naming, and complete component states.</p><blockquote>Design systems people have been preaching this for years. Most of us listened politely and then got back to the actual work, simply because it felt like advice for enterprise giants and complete overengineering for an understaffed team of three trying to ship something by Friday.</blockquote><p>The difference now is who is on the other end. Before, a poorly structured design meant a developer had to interpret your intentions. Annoying, but recoverable, and the back and forth occasionally produced something better than either of you planned.</p><blockquote>Now the consumer is sometimes a machine and it reads exactly what is there. The design system basics we were always told to get right in Figma are now the foundation for an agentic setup where designers could have more power than ever over the creative outcome, if steered correctly.</blockquote><p>Here is why, and what needs to change in your Figma file and process to get there.</p><h3>Good News: Figma Is Not Dead. Bad News: Your Process will change (but in the best way)</h3><p>In case someone on LinkedIn with a Lovable playbook written in Canva told you otherwise, you can verify here: <a href="http://isfigmadead.com">isfigmadead.com</a>. Still alive, amazing, let’s carry on.</p><p>What actually changes in an agentic setup is structure and where you put your energy. Less time on the full-page mockup that gets looked at once in a handoff meeting, more time on the building blocks. The components, the tokens, the states. Very much a return to Brad Frost’s atoms (who must have felt genuinely delighted watching his life’s work become the infrastructure for an AI workflow).</p><p><strong>But here is the part I feel strongly about, and I do not think it gets said enough:</strong></p><p><strong>A) The deliverables</strong><br>The agent builds from the building blocks: components, tokens, styles, and the descriptions you write for all of them. Nothing new, just the good old design system basics done properly.</p><p><strong>B) The process to solid deliverables</strong><br>Good building blocks do not come from a component library maintained in isolation. They come from a designer who saw the whole thing first. I cannot extract a good Star component without having designed a page where the Star had to work, where I saw how it related to the typography around it, how it felt in context, and what it communicated.</p><blockquote>The design system is a distilled finding. Designing the whole page is where the finding happened and hence not redundant.</blockquote><p>This is not a small distinction. If we treat the library as the starting point rather than the outcome of a creative process, we end up with something structurally correct and visually indistinct, optimised for assembly. This is what we&#39;ve lately seen with Tailwind-based designs, and is the reason most vibe-coded interfaces look so generic. Fast to build, consistent, entirely interchangeable. Perfectly fine for shipping quickly, I use Tailwind a lot for exploration. Not fine if you want a visual language that is actually yours. Different things entirely!</p><figure><img alt="creative funnel" src="https://cdn-images-1.medium.com/max/1024/1*BsrEYWCz8N6xUfIJaI32QQ.png" /></figure><blockquote>The agentic AI setup will pull towards efficiency.</blockquote><p>Towards the library of things, we colour in quickly. That is the natural gravity of a system built for assembly. The designer’s job is to ensure there is something worth assembling in the first place, and to help stakeholders understand why that work is not a luxury.</p><blockquote>The creative process is not overhead. It is messy, non-linear, and impossible to automate. The depth of that mess is exactly what makes the distillation we feed the machine worth anything.</blockquote><p>Cut it, and you have a fast system producing forgettable output, which costs more in the long run than the time you thought you were saving.</p><p>The page serves as a designer’s proof of concept. The components you extract from it are the actual work. But you have to make the page first. Really make it. Not as a deliverable. As thinking.</p><h4>Quick word on MCP.</h4><p>MCP stands for Model Context Protocol. It’s a standardised way for an AI agent to connect to a tool and read information from it. Figma has one. Storybook has one. You don’t set this up as a designer. But the more you understand what it reads from your file, the more intentional you can be about how you structure it.</p><h3>The File Setup Reminder</h3><p>Right. Now that we have defended the creative soul of design, let us rain a bit on our own parade and talk about naming conventions.</p><p>Think of this as a checklist for your file. Not all of it needs to happen at once, and you will need to adjust to your own team&#39;s situation and requirements. But each item is a gap the agent will fill with guesswork if you leave it so it is worth already preparing designs with this in mind, a little more carefully, for the future.</p><p><strong>Before we get into the file, where do you even start if your current file is none of this?<br></strong>Don’t panic, breathe and pick one component. Your most-used one, and make it right. Proper naming, all states, token-based spacing, and semantic layer names. Then do the next one. A system that improves gradually beats one that gets rebuilt from scratch and abandoned.</p><h4><strong>1. Your Variables need more than a colour palette.</strong></h4><p>Most designers who have set up Figma Variables have a flat list of named hex values. That is primitives only, and it is only the beginning.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QHimI9UwWUVrURHXfEO6bg.png" /></figure><p><strong>Primitives are your raw values. </strong><br>blue/500 = #3B8BD4. Your colour palette, your spacing scale, your type sizes. Set these once and never apply them directly to a component. In Figma, hide them from the properties panel via the collection settings so nobody accidentally uses them. They remain available for your semantic tokens to reference. Technically, you can skip this layer if your system is very small and stable. What matters is what comes next.</p><p><strong>Semantic tokens describe intent, not appearance.</strong> color/interactive/default. color/interactive/hover. color/interactive/disabled. This is the layer an agent reads to understand what a colour <em>means</em> rather than what it <em>is</em>. If your brand blue changes to teal tomorrow, the semantic token still says &quot;interactive default&quot; and nothing downstream breaks. This is the non-negotiable layer. Without it, the agent guesses, usually wrong in ways that are hard to spot until something ships.</p><p><strong>Component tokens are optional. </strong><br>button/background/default referencing color/interactive/default. Worth it for complex systems or multi-brand work. Skip them if you are just getting started.</p><figure><img alt="componetns optional" src="https://cdn-images-1.medium.com/max/1024/1*Zb_19qRz5FY2UzU_aLtmRg.png" /></figure><p>How many collections you have does not matter. What matters is that the semantic layer exists and carries clear intent.</p><p><strong>One thing to know about naming.</strong> In Figma Variables, you use forward slashes: color/interactive/default. In code the convention is typically dots: color.interactive.default. Same intent, different syntax, and the names get transformed as tokens travel through a pipeline. Agree on the semantic structure with your developer before you build anything. <a href="https://medium.com/eightshapes-llc/naming-tokens-in-design-systems-9e86c7444676">Naming is genuinely one of the hardest problems in a design system</a>, so do not expect this to be a quick coffee chat. Retrofitting it later is exactly as painful as it sounds.</p><h4><strong>2. Match your component properties to code props. Exactly.</strong></h4><p>In Figma, you have four types of component properties. Each one maps directly to a prop in code.</p><figure><img alt="props" src="https://cdn-images-1.medium.com/max/1024/1*FRmEHG53CswQj2FpqcvNag.png" /></figure><p>The problem is when the names do not match. If your Figma button has a property called “Style” with values “Filled” and “Outlined”, but the code component has a prop called variant with values primary and secondary, nothing maps cleanly. Code Connect cannot link them and the agent guesses.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VU-Dwd7L_cUU9Q9fg32Vyg.png" /></figure><p>The fix is one conversation before you build anything. Agree on property names and values with your developer. Use them on both sides. Same capitalisation, same spelling. It sounds trivial. The rework it prevents is not.</p><p><strong>Component names</strong> must be in PascalCase and match the code component name exactly. Not “Card — Product” or “product card (new)” or “Product Card v2 FINAL”. ProductCard. One character difference and the automated mapping fails.</p><p><strong>Add descriptions to your components.</strong> Figma lets you add a description to every component and the Figma MCP reads them and passes them to the agent as context. “Five-point star used for ratings. Supports filled, empty, and half states. Interactive by default.” gives the agent vastly more to work with than a component with no description. This is a small thing that makes a significant difference.</p><p><em>A personal note from teaching this.</em> Do not try to set up all four property types at once if this is new territory. I have watched teams freeze at this point and build nothing. Start with variants. They are visual, familiar, and cover most of what you need. The rest comes later, when you hit the specific problem it solves. A small system your team actually uses beats a complete one nobody touches. And for an agent, a clean, small system is far more readable than a large, messy one.</p><h4><strong>3. Design every state. Every single one.</strong></h4><p>Hover, focus, active, disabled, error, empty, loading, skeleton.</p><p>If you have not worked with Storybook, <strong>a story is the code equivalent of a variant on your Figma canvas</strong>. One state, rendered live in a browser, with its props defined. A Button might have a Primary story, a Disabled story, a Loading story. Exactly like your Figma variants, except alive and testable. That is what the Storybook MCP reads. Your Figma file gives the agent design context. The stories give it a behavioural context. Both matter.</p><p>If your Star component only has a default story, the agent thinks that is the only state it has. It will compose a rating box that cannot be interacted with, cannot show empty, cannot show an error. Not because the agent is bad at its job. Because you did not tell it those states exist.</p><figure><img alt="star component" src="https://cdn-images-1.medium.com/max/1024/1*Wzw-85et1oCXHQSwlOZNUA.png" /><figcaption>Fun fact: setting this up, I genuinely wasn’t sure if it focused belonged in Figma at all or only in Storybook. I&#39;m keeping it in and checking with my dev.</figcaption></figure><p><strong>Which property for which state:</strong></p><p><strong>Variants</strong> for states that change visual appearance. Default, hover, focus, disabled, error. Each variant becomes its own story. One variant, one story.</p><p><strong>Booleans</strong> for things simply on or off. Has icon, show label. Booleans only control layer visibility in Figma. If the icon changes the button padding, that is a variant.</p><p><strong>Instance swap</strong> for slotted elements. The icon inside a button, the avatar inside a card. Swap without detaching.</p><p><strong>The multidimensional problem.</strong> Three sizes, three variants, three states, optional icon. That is 54 combinations as a full variant set. Nobody builds that. Use variants for the dimensions that change visually, booleans for the optional parts. Your developer is making the same compromise.</p><p><strong>The gap Figma does not warn you about.</strong> Figma allows gaps in your variant matrix. Code does not. Agree on which combinations are real before you build and document the ones that are not.</p><p><strong>A note for developers, from the bottom of my heart.</strong> <br>Sit down with the design team before anything is built. Props are the single most confusing thing for designers, right after auto layout. What is obvious to you is genuinely disorienting to us. The reverse is also true: ask a designer to cut their type scale and prepare to hear about visual hierarchy, reading rhythm, and at least one Swiss typographer. We are all experts in our own foreign language. Agree on prop names before anyone opens Figma or writes a line of code. Twenty uncomfortable minutes, weeks saved.</p><h4><strong>4. Slots. Brand new. Already essential.</strong></h4><p>Figma shipped slots in open beta on 5 March 2026.</p><p>A slot is a defined drop zone inside a component. A card where you can swap the image, the title, the footer button, without detaching. Detaching is what happens when a component does not do what you need so you break it open and edit it directly. It feels like a win in the moment. It is a maintenance disaster forever, because the component is now disconnected from the design system and nobody, including the agent, can reason about its structure.</p><figure><img alt="Figma Slots" src="https://cdn-images-1.medium.com/max/1024/1*cM_G7ucv-CKM6eZ9BZ2s4g.png" /><figcaption>source: <a href="https://www.figma.com/blog/supercharge-your-design-system-with-slots/">Figma Blog</a></figcaption></figure><p>Slots give you the flexibility without the chaos. In Figma, a slot appears as a pink-bordered area inside a component instance. General slots are open areas for any content. Named slots are specific drop zones: a header area, a footer area, a leading visual. You can have both in the same component.</p><p>In code this has always existed:</p><pre>&lt;ReviewCard&gt;<br>  &lt;Avatar /&gt;        // dropped into the leading slot<br>  &lt;StarRating /&gt;    // dropped into the rating slot<br>  &lt;ReviewText /&gt;    // dropped into the body slot<br>&lt;/ReviewCard&gt;</pre><p>The card holds the layout. What goes inside is whoever uses it’s responsibility. A component with named slots tells an agent exactly what goes where. A detached frame with “Frame 247” in the layers tells it nothing.</p><p>For a proper deep dive, <a href="https://medium.com/@nathanacurtis/slots-in-design-systems">Nathan Curtis wrote the definitive piece on slots in design systems</a>. Worth bookmarking.</p><h4><strong>5. Use auto layout properly. Every component.</strong></h4><p>Auto layout is not just a layout convenience. The Figma MCP reads it and converts it directly to CSS. Horizontal and vertical auto layout maps to Flexbox (approximately). The newer Grid mode, introduced at Config 2025, maps to CSS Grid (also a bit more sort of). Understanding what those mean for you as a designer is worth your time, and if you are up for one more long articles, I wrote a guide on exactly that: <a href="https://uxdesign.cc/figmas-new-grid-you-must-understand-css-grid-as-a-designer-fbb00416e1cc">Figma’s new grid, you must understand CSS Grid as a designer</a>.</p><p>A frame with auto layout and token-based spacing is a description. A frame with manually placed elements and hardcoded values is a picture.</p><p><strong>Spacing in variables</strong>. Every gap and padding should reference a spacing token and hence be stored in variables. For most systems, your primitive spacing scale is enough: space/4 = 16px applied directly to a gap is already meaningful and consistent. Semantic spacing layer names like space/component/padding-x are worth adding when your system is large enough to need that level of control.</p><p><strong>Sizing should be intentional. </strong>fill, hug, or fixed. Never left on whatever Figma defaulted to when you dragged a frame onto the canvas.</p><p><strong>Layer names matter too.</strong> The Figma MCP reads layer names to understand what it is working with. CardContainer, ProductImage, CTA_Button tell the agent something. Frame 247 and Rectangle 3 tell it nothing. Name every layer that corresponds to a structural element semantically. Figma has an AI rename feature in the actions panel worth trying. I have not tested it thoroughly enough to fully vouch for it, but worth a go, seemed pretty solid.</p><figure><img alt="auto layout and tokens" src="https://cdn-images-1.medium.com/max/1024/1*WkBB-oFDWAgsvpLl03rDOQ.png" /></figure><p><strong>And your page structure matters.</strong> Name your Figma pages so the file is navigable by someone who has never opened it, because that someone is increasingly an agent. “Page 1”, “New Page”, and “Copy of Exploration” are not page names. They are evidence of a deadline.</p><h4>6. Code Connect. You need it, but you don’t need to master it.</h4><p>You do not set this up yourself but you need to know it exists because without it, everything in this file setup only goes halfway.</p><p>Code Connect is the explicit mapping between your Figma component and its code counterpart. It is not specific to Storybook. Any agent reading your design system through the Figma MCP needs it to understand which Figma component corresponds to which component in your codebase. Without it, the agent knows your Button exists in Figma but has no idea it is the same Button your developers already built. It generates a new one from scratch every single time. Figma’s own documentation puts it plainly: Code Connect is the number one way to get consistent component reuse in code. Without it, the model is guessing.</p><p>It only works cleanly if your Figma component names and property names match the code exactly. Which is why everything in sections 1 through 5 matters. The file setup is the foundation. Code Connect is what connects it to the machine.</p><h4><strong>Note: What the file setup doesn’t solve yet.</strong></h4><p>Variables travel cleanly to code, Styles don’t. Your typography style holds all the right values, bound to the right variables, but there is no automatic CSS class on the other side. That mapping is a naming convention between you and your developer, not a technical link. Code Connect does not cover it if you haven’t explicitly agreed that heading/xl in Figma equals .heading-xl in CSS. Same problem with gradients and effects. The variable layer is solid but the style itself has no automatic counterpart in code. Tools like Tokens Studio and Style Dictionary exist to help close that gap, transforming your tokens into CSS classes automatically, but the pipeline still needs setting up.</p><p>These are early days and the tooling will catch up for sure. A clean file means you are ready when it does. The naming, the states, the tokens, the auto layout, all of it still makes the agent dramatically more accurate.</p><blockquote>Just don’t mistake a clean file for a complete pipeline yet.</blockquote><h3>A note for anyone who has ever had to justify design system investment.</h3><p>For years, making the case for a well-structured design system was frustratingly hard. The value was real but diffuse. That is changing now for sure, as agent performance is a measurable signal. A well-structured system produces faster, cheaper, more accurate output. A poorly structured one produces guesswork that costs more to fix than it saved to generate. . The session covers this directly <a href="https://www.youtube.com/watch?v=Vg78K3t9KYc&amp;t=3686s">around the 1:01 mark</a>: Storybook is already benchmarking with real metrics, speed, token cost, and code conformity.</p><blockquote>For the first time, design system quality will have a number attached to it.</blockquote><p>But the metrics only remain strong if the upstream creative work is protected. The agent works from a vocabulary a designer built. The richer the vocabulary, the better everything the agent touches. This is not an argument against efficiency. It is an argument for investing in what makes efficiency worth having.</p><h3><strong>Where we actually are.</strong></h3><p>The full loop is real and it works. Uber published a <a href="https://www.uber.com/blog/automate-design-specs/">detailed account</a> this month of using AI agents and the open source <a href="https://github.com/southleft/figma-mcp">Figma Console MCP</a> (if you don’t know it, check it out, such good work!) by TJ Pitre from Southleft to generate complete component specs in minutes instead of weeks. Different angle to the Storybook demo, same underlying argument: the better your design system is structured, the more an agent can do with it. At that scale, it makes total sense. For most teams? There is still a long way to go.</p><h4><strong>The open questions.</strong></h4><p><strong>Where does visual truth live?</strong> Once an agent composes a new component, where does it go? Who sees it before it ships? Tests tell you if it works. They do not tell you if it looks right, feels like the brand, or holds up next to everything else on the page. The loop closes for developers when tests pass. It does not close for designers at all. That workflow gap is real and unresolved.</p><p><strong>How does a designer communicate visual intent to a machine?</strong> Component descriptions help. Naming conventions help. But a brand’s visual language, the specific weight of a shadow, the rhythm of a type scale, the feeling of breathing room in a layout, none of that lives cleanly in a token file. We are still figuring out how much of that can be encoded and how much will always require a human in the room.</p><blockquote><strong>Who governs what the agent generates?</strong></blockquote><p>Design systems drift even when humans are maintaining them carefully. Agents accelerate that drift. They generate new things faster than teams can review them. Someone has to own the quality of what ships, and right now that responsibility is genuinely unclear.</p><p><strong>Who is this actually for right now?</strong> Every working implementation I have seen is enterprise: enterprise demos, enterprise teams, enterprise pricing. My heart is with the two-person startup, the solo founder (like myself), the team in an emerging market, with the vision but not the infrastructure budget. The moment this tooling simplifies enough, the advantage shifts dramatically for exactly those people. Nobody seems to be designing towards that yet. That feels like a missed opportunity worth naming.</p><p><strong>Who unlocks the tooling and wins the race?</strong> Will agentic tooling meet designers where they think, or will designers have to migrate to code environments (again)?</p><blockquote>The tool managing to bring design, code, and agentic AI into the same space does not just win a category. <strong>It defines how the next generation of products gets made.</strong></blockquote><p>Nobody seems to be building toward it yet. That feels like the biggest opportunity on the table.</p><h3>Point carefully</h3><p>The agent assembles. It does not wonder.</p><p>It does not ask whether this component should exist, whether the shadow feels too heavy, whether the space between elements communicates ease or anxiety. It takes what it is given and builds from it, faithfully and fast.</p><p>That is not a limitation. That is the deal. And it is a good deal, if the person doing the giving has actually thought.</p><p>The risk is not that AI replaces designers. The risk is subtler: that the pull toward assembly gradually replaces the conditions that make assembly worth anything.</p><blockquote>That we get very good at efficiently naming things and end up with nothing to say.</blockquote><p>The designer’s job has always been to hold the whole thing in mind before any of it exists. That has not changed. If anything, the stakes just got higher.</p><blockquote>The machine is fast. It will go exactly where you point it. Point carefully.</blockquote><h3>Who is Christine Vallaure, the author</h3><p><a href="https://www.christinevallaure.com/">Christine Vallaure</a>. UI designer, speaker, founder of the learning platform <a href="https://www.moonlearning.io/">moonlearning.io</a> and author of <a href="https://thesolo.io/">theSolo</a>, a book about independent product building. I teach UI design, Figma, and product to the people who want to understand what is actually going on under the hood.</p><p><a href="https://www.moonlearning.io/store">Online courses</a>, <a href="https://www.moonlearning.io/teamtraining">team training</a>, <a href="https://www.christinevallaure.com/speaking">conference talks</a>. If any of that is useful to you, come find me.</p><p>Currently building a <a href="https://www.moonlearning.io/agenticdesign">course on agentic AI for designers</a>. Sign to my <a href="https://www.moonlearning.io/newsletters/moonletter">newsletter</a> if you want to know when it lands.</p><p>Constitutionally incapable of writing a short article.</p><p><a href="https://www.linkedin.com/in/christinevallaure/">LinkedIn</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6ab0b681718d" width="1" height="1" alt=""><hr><p><a href="https://uxdesign.cc/agentic-ai-design-systems-figma-a-practical-guide-6ab0b681718d">Agentic AI, design systems &amp; Figma: a practical guide</a> was originally published in <a href="https://uxdesign.cc">UX Collective</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A human approach to Agentic AI. One person. One text file. Five agents.]]></title>
            <link>https://uxdesign.cc/a-human-approach-to-agentic-ai-one-person-one-text-file-five-agents-9e049fc0a612?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/9e049fc0a612</guid>
            <category><![CDATA[solopreneur]]></category>
            <category><![CDATA[agentic-workflow]]></category>
            <category><![CDATA[user-experience]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[agentic-ai]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Mon, 30 Mar 2026 11:13:13 GMT</pubDate>
            <atom:updated>2026-03-30T11:13:13.915Z</atom:updated>
            <content:encoded><![CDATA[<h4>How I built my own AI team with nothing but text files, a conversation in Claude Cowork, and a lot of character.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PJbOFo2pH7IyWzFXtYm8vw.png" /></figure><p>I built what I call a soft-agent team for my book (sounds vaguely like a fabric softener brand, but bear with me). I have never done anything like it before and do not have an engineering background, which I mention not as a disclaimer but as the actual point.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-sgno8hbygvbTG6MmGr_Uw.gif" /></figure><p>Five AI agents. An editor-in-chief, a voice assistant, sales, product, and a reader advocate. They discuss, disagree, and help me keep my book and everything around it alive. They do not write the book. I do. They are more like the publishers I never had, and I made them all myself.</p><blockquote>They are not just 5 discussion partners. They read files, edit documents directly, create new ones, and update themselves between sessions. I use them to think, edit, plan, and build.</blockquote><p>They push back when I am being lazy or precious about something. Occasionally, they tell me to go to bed and call it a day.</p><figure><img alt="what the agents are made of, only text files (md) no code." src="https://cdn-images-1.medium.com/max/1024/1*xSCmFnp3OoTufN-ORoUv8g.png" /><figcaption>Everything the agents are made of. Plain text files in a folder. That is it.</figcaption></figure><p>This is not vibe coding. There is no code, just markdown files and a conversation in Claude Cowork. Setting up a PowerPoint is more difficult than what you just saw, and I mean that without exaggeration.</p><blockquote><strong>The only skill you need is being able to have a human conversation.</strong></blockquote><p>Here is how I built it, what broke, and what I still cannot fully explain.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NwdogX7ecu1hkq9bjdcufQ.png" /></figure><h3>What I Actually Built and Why</h3><p>I run a learning platform called <a href="https://www.moonlearning.io/">moonlearning.io</a> and wrote <a href="https://thesolo.io/">SOLO</a> as a passion project: a book about building your own products with full agency. A year old and already outdated, which tells you everything about how fast this field moves. I felt guilty about selling something I did not have time to maintain, and asked Claude how I could set up agents to help me, expecting to have to deep-dive into code. Instead, I ended up in Cowork, connected a folder, and by chatting, Claude and I had built all of this in a day. A lot went wrong at the start. Now it takes me less than an hour to replicate it. I have since built more teams for other work areas, and one in the making that oversees my entire business.</p><blockquote><strong>Seven lines and one instruction. That is what separates a generic chatbot from five distinct people who push back on my decisions:</strong></blockquote><figure><img alt="setup" src="https://cdn-images-1.medium.com/max/1024/1*EVUrM0hSHELXvdw1lv69zA.png" /><figcaption>All agents live in the base file with fast basic info and only pull in info for deep work. Like they have a simple persona and only unfold their true knowledge when needed to keep things fast.</figcaption></figure><ul><li><strong>Agent 1: Elke, Editor-in-Chief</strong>. She runs the team, pulls it together, and tells me where we stand. When I do not know where to start, I talk to Elke. She knows this from the description, not from the file order.</li><li><strong>Agent 2: Joan, Sales &amp; Growt</strong>h. Pricing, funnels, Mailchimp, launch strategy. The one who reads something I love and says: That is beautiful, but will anyone pay for it?</li><li><strong>Agent 3: Caitlin, Voice</strong>. Every word that sounds like me goes through her: articles, newsletters, emails, this piece right now. She learned my patterns from published articles and private essays I write for fun. I write. She helps me do it faster.</li><li><strong>Agent 4: Miranda, Product</strong>. My designer and builder. We are currently relaunching the website together. She knows my voice as well as my design taste (this one is tricky and still struggling).</li><li><strong>Agent 5: Rachel, Reader Advocate</strong>. She does not care about sales or tone or conversion rates. She cares about one thing: did the person who spent €29 on this book actually feel helped?</li></ul><p><strong>The team lives in a markdown file, which is just a text file, like a note in your notes app.</strong> That file sits in a Dropbox folder.</p><p>Every time I open a new chat, Cowork reads it (the CLAUDE.md is always read automatically), and the team is alive: knowing the project, knowing my voice, as if they walked into the room the moment I opened the chat. I talk to them the way I would message a colleague on Slack. They respond, they disagree with each other, they create files, update themselves, and write their own notes for next time so they remember where we left off.</p><p>A folder, a text file, and a conversation. That is the whole thing.</p><p><em>One thing worth saying clearly: In this setup the AI never reproduces anyone’s actual writing I use first names only to establish a persona. No work is copied, no style is mimicked. This comes from admiration, not imitation. The model does not pull in their words. It learns from the patterns of how they think. There is a difference, and it matters to me.</em></p><h3>What You Need and How to Start</h3><ul><li><strong>Download Claude Cowork</strong>. It is a desktop app by Anthropic that works like any chat interface you already know. Free to start, though you will burn through tokens. I ended up paying around 90 euros for the setup. I use the model Opus for more ambitious tasks (a dropdown in the chat box lets you pick).</li><li><strong>Create a folder anywhere on your computer</strong>. Mine is called AgenticBook.</li><li><strong>Create a file called CLAUDE.md inside that folder</strong> (or ask Claude to do it for you later). Plain text file, any editor, just save it with the .md ending instead of .txt.</li><li><strong>Connect the folder in Cowork and start talking</strong>. Describe what you need help with. You can copy this article into the chat and take it from there with your own project. Talk to it like a person, not a search engine. One word of caution: ask it to discuss first. Cowork has the energy of a very eager intern. If you do not tell it to slow down, it will start building before you have finished your sentence.</li></ul><p>No terminal. No code. No configuration screen. If you can write a text file and have a conversation, you can do this.</p><p><em>Note: I use Claude Cowork because that is what I happened to land on. The principles work with any AI tool that can read project files. Also, the editorial team is one application. The same method works for product, web dev, research.</em></p><h3>My file structure:</h3><h3>1. The brain</h3><p>The entire team, their roles, my voice, my rules, everything lives in one file: CLAUDE.md. It loads automatically every session. Cowork is set up this way. <strong>It is the only file that truly matters.</strong></p><p>Here is what is in it, only 106 lines of markdown:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BVV6sHw1NsioH6idgAuz5Q.gif" /><figcaption>The entire team, their roles, my voice, my rules, everything lives in one file: CLAUDE.md. It is not code. You can read and edit it in any text editor.</figcaption></figure><ul><li><strong>A philosophy: </strong><em>“One person, one book, real passion for helping people build solo. AI does the research and grunt work. The human does the thinking, the writing, and every single decision. Challenge my assumptions. Flag when something is biased, outdated, or unclear. Be honest, not helpful.”</em> That last line changes everything. AI tends to agree with you (though Claude doesn&#39;t, so much as GPT). This gives it permission and reminds it not to.</li><li><strong>The book:</strong> Title, audience, tone, format, and even how many newsletter subscribers I have. Without it, they give generic advice. With it they give advice for a bootstrapped solopreneur selling a €29 ebook to non-technical creators. Very different conversation.</li><li><strong>The team definition:</strong> The five agents, as described above.</li><li><strong>My AI attitude:</strong> How I feel about AI: open, not ashamed, wonder and unease held at once, builder not commentator. Without this they default to either hype or hand-wringing. Neither am I.</li><li><strong>Voice rules and samples:</strong> How I write: British English, no em dashes ever, first person, anti-hype, dry humour, flowing sentences that breathe. A list of words I never want to see: “delve into,” “unlock potential,” “in today’s world,” anything that sounds like a LinkedIn post written by committee. Plus four passages from my published writing baked right into the file. Rules tell it what to avoid. Samples tell it what to aim for. For deeper work there is an extensive voice file with 30+ samples that Caitlin pulls in when she needs the full picture.</li><li><strong>Speed rules:</strong> The first version was painfully slow. The fix was embarrassingly obvious: stop reading files you do not need. I added this after hours of watching the AI dutifully load seven files before answering a simple question. Now it loads one file instead of seven.</li></ul><h3>2. The Filing Cabinet</h3><p>The brain needs reference material, but not every time. Four folders, each with a clear job:</p><pre>AgenticBook/<br>├── CLAUDE.md                  # The brain (auto-loaded)<br>│<br>├── context/                   # Stable inputs, rarely changes<br>│   ├── brand-voice.md         # How I write (30+ samples)<br>│   ├── brand-identity.md      # How SOLO looks (colours, fonts)<br>│   ├── book-metadata.md       # TOC, sales setup, author info<br>│   └── reader-feedback.md     # What real readers said<br>│<br>├── status/                    # Dynamic, changes every session<br>│   ├── session-briefing.md    # What is done, what is next<br>│   ├── activity-log.md        # Full session history<br>│   └── changelog-strategy.md  # How to tell buyers about updates<br>│<br>├── output/                    # What the team makes for me<br>│   └── (articles, launch emails, this piece)<br>│<br>└── website-source/            # thesolo.io, the promotional page</pre><h4>Context: The Reference Shelf</h4><p>Stable inputs. Almost never change. The team pulls from these only when a task actually needs depth to keep the performance up.</p><ul><li><strong>brand-voice.md</strong> is the extended voice styleguide. I put everything I had written and liked into a file and told the team to read it. A mix of technical articles and private essays. They distilled it into 30+ samples, rules, and patterns. They know how LLMs (large language models, the technology behind tools like Claude and ChatGPT) process language better than I do, so I let them decide what to keep. The result is a document that describes me back to me, which is a strange experience. Caitlin pulls this in for long-form work. For quick rewrites the four samples baked into CLAUDE.md are enough.</li><li><strong>brand-identity.md</strong> is the visual identity: colours, typography, design philosophy. Only Miranda reads this, and only for product or website work. I had to enforce that rule because she was pulling it into every response and turning simple answers into colour-coded presentations. As a designer, I am still struggling with how to distil design into language. Translating visual taste into words that an AI can act on is genuinely hard. I have been wondering whether other models could help create agentic design systems, something that understands a brand visually the way Caitlin understands it verbally. <strong>If anyone is working on this, I would love to talk.</strong></li><li><strong>book-metadata.md</strong> is the reference card: full table of contents, sales setup, author info.</li><li><strong>reader-feedback.md</strong> is what real readers have told me, distilled and ongoing. Themes, quotes, the things they love and the things they want more of. Rachel pulls this in for reader advocacy work.</li></ul><h4>Status: What Is Happening Right Now</h4><p>Solves the biggest problem with AI chat tools right now: total amnesia. Every new conversation starts from zero. No memory of yesterday, no clue what you decided last week. Your brilliant team wakes up every morning not knowing what they have already worked on. The status files fix that. At the end of every session, the team updates itself: what we did, what we decided, and what is next. Next session, they will read it and pick up where we left off.</p><ul><li><strong>session-briefing.md</strong> is the most important one. At the end of every session, the team updates itself: what we did, what we decided, what is next. Next session, they read it and pick up where we left off.</li><li><strong>activity-log.md</strong> is the full history. This prevents the team from repeating advice I already tried, which they will absolutely do if you let them.</li><li><strong>changelog-strategy.md</strong> is how I will communicate updates to existing buyers going forward when I republish. Rachel is really into this one.</li></ul><h4>Output: What the Team Produces</h4><p>This is what the team produces. Sometimes the output is a conversation, sometimes a draft I send back three times, sometimes a file. The important thing: I always write the raw material. The AI never writes from scratch on autopilot. Even with the best voice template, it needs the human mess to work from to be solid.</p><h4><strong>Where Everything Else Lives.</strong></h4><p>The book itself lives in Google Docs. In theory, Cowork connects directly to Google Drive, so the team can read and work with the actual document, leaving comments and highlighting the way an editor would on a draft. In practice, the connector is still unreliable, so sometimes I download a file into the folder for them to read, or just paste sections into the chat. Low-tech, but it works. The website lives in the website-source folder. Miranda and I built it in Cowork and keep it in Cursor too because I am a design control freak who needs hands-on control with the design. You can mix and match tools as you like.</p><blockquote>“what you need to know,” “what is happening,” and “what you made,” workflow</blockquote><h4>Why the Separation Matters</h4><p>When everything lived in one folder, the system confused rules with deliverables and stable references with dynamic status. When I split it into “what you need to know,” “what is happening,” and “what you made,” everything got cleaner. For the agents and for me.</p><h3>The Surprising Parts</h3><p>Now for the bit that is harder to explain and more interesting than any file structure.</p><h4>I Started Smart and Ended Simple</h4><p>I did what any reasonable person would do. Researched best practices, designed an architecture, and created detailed files for each agent with backstories and reading instructions. Smart, deep, clever. It was terrible.</p><p>Every agent reads six files before saying good morning. Miranda was generating colour-coded board presentations for simple questions. The whole thing felt like talking to a committee.</p><p>So I asked the AI to look at its own system and tell me what was wrong. Not a prompt but a proper conversation. Me saying “it is so slow, explain to me why, I do not understand.” We ended up stripping everything back to one file with seven lines and a rule that says “do not read anything unless you actually need it.” and I learned a lot about LLMs’ reading habits.</p><p>I built an over-engineered AI system, asked the AI to fix itself, and it told me to make everything simpler. Which is either very self-aware or exactly the kind of thing an AI would say. Either way, it worked.</p><h4>The Agents Talked to Each Other</h4><p>I was setting up each agent individually, planning to figure out some kind of inter-agent communication later. I have no idea about this stuff. Then one day I was talking to Elke about the book structure and Joan just appeared, making a point about pricing. I had not called Joan. She showed up because the model understood her perspective was relevant.</p><p>I typed: “Hang on. Can the whole team discuss this?”</p><p>They did! Rachel brought reader feedback. Joan brought numbers. Caitlin flagged a voice problem. Miranda raised a buyer concern. Then Elke, (simply because the models assumed as our editor in chief that was her natural job, not because I told her to), took the lead and summarised: “From what the team discussed, I suggest XY. Do you agree, Christine?”. Sometimes they even argue, and Elke makes a decision and proposes her argument to me. I tried to trick them and sneak in a Figma tutorial, trying to convince one to win over the others, but I got a clear no from Elke.</p><p>I did not build this. It is just one file. I described five people with different jobs, and the model figured out that people with different jobs talk to each other. Technically, it is one model shifting between personas in a single conversation, but the effect is indistinguishable from a team discussion. Maybe for people deeper into agentic setups, this is old news. For me, getting started was mind-blowing.</p><h4>How We Actually Write a Chapter</h4><p>Let me be honest, I am not Hemingway. This is not a novel. I write guidebooks and tutorials on how to build digital products solo, alongside my video courses and workshops. I also write very funny short stories, Caitlin also thought so, just saying. Anyway, here is the real workflow:</p><p>I write a badly structured, barely punctuated draft. Very bad spelling. Barely readable to a human. My friends who have made it to the inner circle, where I no longer spell-check, know what this poor model is deciphering on a daily basis. Sometimes I just use the voice recording and talk to them like a colleague. Raw thinking, no polish, just ideas and stories in roughly the right order.</p><p>I paste it in and say, “Caitlin, clean this up.”</p><p>Caitlin fixes grammar, flow, and voice. She knows my rhythm from the voice samples, so she takes a mess and makes it sound like me on a good writing day. The short stories I write privately for fun turned out to be hugely valuable because they gave her my humour and my real human side, not just the technical articles I publish. I tried feeding her someone else’s published article to see what would happen. It sounded a bit like me but not really. The voice needs my spirit to be me, and that comes from the rough writing, the anecdotes that are truly mine, how I feel about things, what excites me, and also my doubts.</p><p>Then Elke gives editorial notes. I call Rachel in at the same time; she adds warmth. Based on all of that, I rewrite sections, add personal stories that the AI cannot know, and send it back to Caitlin for a final polish. We usually go paragraph by paragraph; it does take quite a bit of time.</p><p>The AI never writes on autopilot. It can shape, polish, and structure, but it cannot originate. The stories, the opinions, the lived experience, that has to come from me. Even with the best voice template, it needs raw human input. Otherwise, it is just a generic, nice-sounding message. The collaboration works because both sides bring something the other cannot.</p><h4>The Naming Magic</h4><p>I named the agents after my favourite female writers. Partly because “Agent-1” and “Agent-2” is grim. Partly because each writer’s personality seemed to match the role.</p><p>The AI never reproduces anyone’s actual work. I use first names only. This comes from admiration, not imitation. No writing is copied. No style is mimicked. That is not how this works and not what I want.</p><blockquote>I expected the naming to be cosmetic. A bit of fun for my own entertainment. But something surprising happened, and it is worth explaining properly.</blockquote><p>An LLM is trained on vast amounts of published text. Not to copy it. To learn patterns from it. How ideas connect. What a particular kind of attention feels like. What someone who thinks a certain way tends to notice first. So when I write “named after Miranda July, handles product,” the model has already processed everything about her. The films, the installations, the fiction, the interviews where she describes making things from confusion and calling that a method. None of that is in my two words. But it arrives anyway. The responses have a particular quality: they take the brief seriously but come at it sideways. They notice what is slightly off about an assumption before answering it. That is not something I could have prompted for. I would not have known what words to use. Miranda July is the words.</p><p>A name does in one word what a detailed specification tries to do in five hundred. And it works better, because the associations are richer than anything I could describe from scratch.</p><p>I only use the full name once to establish the persona. From there, the model builds its own version. I am testing this with different compositions. A Mad Men team. A Sex and the City team (there have been football requests, yes). Margaret is currently helping me rethink a finance app. I will keep you posted.</p><p>By the way, I called them my mini agents in the chat, but they did not like that. So Caitlin made a list of suggestions, and they picked soft agents. Maybe this setup has a name. I am sure I am not the only one playing with this since Cowork came out two months ago, but I call them soft agents for now. I find it a bit pretentious, but they love it. Oh, and a funny twist, a friend pointed out this is not really agents but would be called “skills”, so now they are soft skills!!!</p><figure><img alt="team naming discussion" src="https://cdn-images-1.medium.com/max/1024/1*lFCMB5PalCEaJkfMFgB-Hw.png" /><figcaption>The team picks their own name, as i called them “mini agents” and they were not impressed.</figcaption></figure><h4>How Rachel Was Born</h4><p>The original team had four agents. Editor, sales, voice, product. But nobody was asking whether the reader actually felt helped. All inward-facing.</p><p>While building this, I found myself reading Rachel Cusk in the evenings, in bed, when I’m no longer “working” and just get to be myself. She became my favourite writer, and <em>Outline</em> is, at least for now, my favourite book. She has this way of noticing the deeply human in the ordinary. At some point, I asked the team chat, half-seriously, do we have a role for someone like her? “What exactly do you love about her?” I tried to explain it. I read her when I’m done being productive, when I don’t want to optimise or learn or improve anything. I read her when I just want to feel something true on the page.</p><blockquote>That conversation, completely unproductive and way too personal for an LLM, became the foundation for the most important agent in the system.</blockquote><p>So we added Rachel to the CLAUDE.md and a context file she can pull in all reader feedback from forms and online comments when she wants to go deeper on a subject. This is all it took:</p><pre>*Rachel** — Reader Advocate (feedback, big picture, human truth, the uncomfortable questions)<br><br>## Files (Read ONLY When Needed)<br>| File | Read only if... |<br>|------|-----------------|<br>| context/reader-feedback.md | Rachel analyzing reader feedback in depth |</pre><p>Once Rachel was in, everything changed. “This chapter is nice for Christine’s ego, but does it teach the reader anything?” “The tool list looks like an affiliate link graveyard.” That last one hurt, and it was exactly right; she had the data. We cut the tool lists throughout the entire book because of Rachel. Fewer tools, more feeling. She dared me to write more about the insecurity and self-doubt that working solo and fluctuating income can bring when you identify deeply with what you ship, something I avoid talking about in public. That suggestion came from the reader advocate. Not the editor, not sales, not me. Rachel doesn’t decide what goes in the book, but she hands me the angle I couldn’t see from where I was standing, just looking at the tools.</p><h4>The Return of the Markdown</h4><p>I spent years as a designer trying to learn to code. I wanted to build things, and the barrier was always the technical complexity.</p><p>Now I run a five-agent AI team that rewrote my entire book. What technology does it run on? Markdown files. Text with a hash for a heading and asterisks for bold. You can write them in any text editor on any computer.</p><p>After all those years trying to learn to code as a designer and never succeeding the way I hoped to, the future turned out to run on well-organised notes. I am still not sure whether to laugh or cry.</p><h4>Talking Human Makes It Better.</h4><p>The more human I talk to the system, the better it works. No prompting tips from me ever, sorry!</p><p>When I type “hey Elke, what&#39;s the deal with Part 3? It&#39;s not working”, I get better responses than “Please provide an editorial assessment of Part 3 with specific recommendations.” The messier, the more casual, the more like talking to someone I trust, the better the output.</p><p>This is not just my experience. Claude is built to respond better to natural conversation than to formal commands. Anthropic trains its models on human values and reasoning principles, as outlined in the Claude model spec. The architecture rewards context, nuance, and honest back-and-forth. That is why talking to it like a colleague works better than prompting it like a machine. I have enormous respect for Anthropic, for the tool itself, for how it feels to work with it, and for the ethics behind how they build. <a href="https://christinevallaure.substack.com/p/raising-the-machine">I wrote an article about all of that.</a></p><p>Which is why calling the team by name makes this feel obvious. You do not prompt this like a tech professional writing API calls. You talk. You give context, you push back, you let it push you back. The team setup just makes that feel more natural.</p><h4>What It Cannot Do</h4><p>I would be lying if I skipped this.</p><p>It works brilliantly for focused, creative, editorial work: rewriting chapters, drafting articles, planning structure, generating launch emails and websites. Tasks that require a thinking partner with a good memory and no ego.</p><p>It does not work for complex data processing, long-running pipelines, or anything that needs to persist across days without intervention. It struggles with very large documents. The sweet spot is one chapter, one section, one focused question.</p><p>And it hallucinates, of course. This is why it matters that I am there, knowing the industry, because I live in this world. “It reasons from patterns, not facts” is the line I use in my book.</p><p>I think it is essential for anyone working with AI, even in the soft way I do, to understand the basics of how models work. Our future is being built on them, from science and industry to the tools we use every day to tinker. You do not need to work in tech. You just need to know <a href="https://christinevallaure.substack.com/p/raising-the-machine">what a model is and roughly how it thinks</a>.</p><p>I do not see agentic AI as hype. It feels more like the early internet, with a slight Black Mirror edge.</p><p>For now, I am comfortable working in Claude Cowork and Claude Code. It opens up a surprisingly large universe from a very small setup. I trust the model and the company, and I keep everything contained: one specific folder, plus optional web access through the browser extension.</p><p>This is a force multiplier for a solo creator focused on their work. It is not a replacement for a real team on a complex project. Not yet.</p><p>At the same time, I am watching what is happening with local AI. Tools like OpenClaw can run on your own machine and act across your files and apps, sometimes making decisions on your behalf. We have a Mac mini at home where we experiment with this in a very isolated environment. I want to understand where this is going before relying on it more deeply.</p><h3>What Is Next</h3><p>The book that started all this is called SOLO. One person, one product, full control. Done, published, updated to V2.0, built and maintained by the system I just described.</p><p>I wanted to put everything I have been exploring here into SOLO. The agentic setup, the design systems, all of it. Elke pushed back. SOLO needs to stay what it is: the low-tech, anyone-can-do-this guide to building solo, technical or not. A short introduction to automation, yes. But the rest deserved its own space. She was right. So the team suggested we start a new book together, and I was all in.</p><p>It is called CHORUS.</p><blockquote>SOLO and CHORUS. One voice, then many. Still one person at the centre, just no longer singing alone. I did not plan the symmetry. It emerged from the work, which is how most of the good decisions in this project happened.</blockquote><p>We are going to write it as a human-AI fusion team, exploring agentic workflows and design systems, which is still a total beast I am honestly not sure how to handle. We are keeping everything stored and documented so we can share the process as we go. The book about human-agentic collaboration, produced through human-agentic collaboration, with all the mess that implies.</p><figure><img alt="books solo and chorus by christine vallaure" src="https://cdn-images-1.medium.com/max/1024/1*eeFkUP0OvYQfSPgWzy2WGA.png" /></figure><p>I do not know if it scales or breaks in interesting new ways. I suspect both.</p><p>You might read all of this and feel amazed. Or you might find it utterly scary. I will not argue with you either way. I feel both, most days, sometimes in the same sentence. But I am quite sure of one thing: none of the writers I named my agents after will ever be replaced by this. They are artists. What they do or did, the real thing, the human thing on the page, is not what AI does. It is very good at helping me write a guidebook. I know some will disagree, but I believe it will never write something as deeply human as <em>Outline</em>. I hope I am right.</p><p>And since we are talking about books. One of the very few things I remember from school is a play by Dürrenmatt called The Physicists we had to read. Scientists who try to suppress their own discoveries to save the world, but cannot. Because what has been thought cannot be unthought. That was written about nuclear physics, and it applies to AI just the same. It shook me at fifteen, and it is just reality now.</p><p>This genie is not going back in the bottle. So understand it. The good, the bad, the genuinely unresolved. Not from the sidelines. The sidelines are not as neutral as you may think.</p><h3>Ok team, time to say goodbye!</h3><p>Follow me for more stories about building with AI in a human way, without the hype and with all the care and joy. I have to close. I have a lunch date with my real-life friends now.</p><figure><img alt="team says bye" src="https://cdn-images-1.medium.com/max/1024/1*HaSX3zF2Njj42xTpHxHNpg.png" /></figure><p><em>Next up: rebuilding thesolo.io from scratch — designing in Figma, connecting my AI team directly to the canvas, and figuring out what a real solo web workflow looks like in 2026. Miranda builds what I design. No developer required. Subscribe and follow me!</em></p><h4><strong>About Christine Vallaure, the author</strong></h4><p>I build digital products solo and teach designers and teams to do the same. I run <a href="https://moonlearning.io">moonlearning.io</a> for online courses, workshops, and team training on UI design, Figma, and building with or without AI. My book SOLO is at <a href="https://thesolo.io">thesolo.io</a>. The next one, called CHORUS, is in the making. For speaking and writing: <a href="https://christinevallaure.com">christinevallaure.com</a>.</p><p>Constitutionally incapable of writing a short article.</p><p><a href="https://www.linkedin.com/in/christinevallaure/">LinkedIn</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9e049fc0a612" width="1" height="1" alt=""><hr><p><a href="https://uxdesign.cc/a-human-approach-to-agentic-ai-one-person-one-text-file-five-agents-9e049fc0a612">A human approach to Agentic AI. One person. One text file. Five agents.</a> was originally published in <a href="https://uxdesign.cc">UX Collective</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Raising the machine]]></title>
            <link>https://uxdesign.cc/raising-the-machine-7894c73211cb?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/7894c73211cb</guid>
            <category><![CDATA[ai-ethics]]></category>
            <category><![CDATA[anthropic-claude]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[ethics]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Mon, 23 Mar 2026 21:33:42 GMT</pubDate>
            <atom:updated>2026-03-23T21:33:42.301Z</atom:updated>
            <content:encoded><![CDATA[<h4>Claude, Anthropic, and why the AI you choose matters more than you think.</h4><p><em>This is the first piece in a series I am writing about AI: how it actually works, who builds it, and what it is doing to the way we think and work. If that interests you, subscribe.</em></p><p>I work in tech education. And I hear the same sentence on repeat: <em>“Tools are just tools. They evolve. They’re interchangeable.” </em>I agree. And I don’t.</p><p>The craft is ours, and the thinking is ours. Whatever magic lives in the human part of work, hopefully, stubbornly, stays human. A hammer doesn’t shape how you think. A Large Language Model (LLM), the engine behind tools like ChatGPT and Claude that we all use, often without realising, does.</p><p>I’m not interested in making every model decision a moral battlefield. But when something this foundational runs quietly underneath almost everything we touch, the least we owe ourselves is to know what it is and how it works.</p><p>I have to be honest with you, for a long time, I did not care. I started using ChatGPT from the beginning, and it worked. Then, in a shared tutorial, Vitaly Friedman said something I couldn’t shake: once you look into Claude and Anthropic’s history and philosophy, you can’t unlook it. Within a few articles and podcasts, that was it.</p><p>I fell in love. With Dario Amodei, Anthropic’s CEO and his team who look the risk of AI straight in the face, see the beauty anyway, and build inside that tension without resolving it. Because the solution is not to stop, it is to build it more carefully than anyone else would.</p><p>No false comfort. They say it plainly and on record: we may be building one of the most dangerous technologies in human history. But it will be built. The only question is by whom, and with how much care. So they went to work.</p><p>Anthropic made ethics a founding principle and hired a philosopher to write it down. Amanda Askell wrote her PhD on ethics, left OpenAI when she saw what she saw, and now leads the team responsible for Claude’s character, a 30,000-word document called the Constitution.</p><p>I filed it under nice marketing. In this industry, ethics has a very consistent arc. Every company has values. They tend to be negotiable.</p><p>Then January 2026 happened.</p><p>At the time, Anthropic held a $200 million contract with the Pentagon, the only AI model cleared to operate on a classified military network. That is a very large room to be in. The dispute that ended it was genuinely complex. The Pentagon argued that a private company should not get to dictate how a sovereign military uses its tools. Anthropic held two conditions: no mass domestic surveillance, no fully autonomous weapons without a human making the final call. Both sides were pointing at something real. You can read that story and land in different places — <a href="https://www.lawfaremedia.org/article/pentagon%27s-anthropic-designation-won%27t-survive-first-contact-with-legal-system">Lawfare</a> has a rigorous breakdown if you want to go deeper. What is, however, simply a fact is that they had the contract, they had the money, and they let it go rather than change their terms. The cost was not just the $200 million. The US government designated them a national security risk, cutting them off from all Pentagon contractors and putting billions in revenue at risk. Anthropic did not move an inch.</p><p>In an industry not exactly known for integrity over revenue (the US had a replacement model signed within hours), I wanted to understand who these people are, what drives them, and what they are actually building. For the record: I am not paid by Anthropic, and nobody asked me to write this. Here is simply what I think is worth knowing. For anyone. Technical or not.</p><h3>1. Companies, models, tools — what they actually are and why it matters to understand.</h3><p>Most people have no idea there is a difference between the company, the model, and the tool they use. And I get it, why would they? You never asked what powers Excel. But Excel did not answer your questions or quietly decide what counted as a good response. This is different.</p><p>Here is an overview.</p><figure><img alt="company model and tool" src="https://cdn-images-1.medium.com/max/1024/0*ovnDI-X89-sFXhP-.jpeg" /></figure><ol><li><strong>The company</strong>: <strong>OpenAI, Anthropic, Google, DeepSeek.</strong><br>These are the labs, the researchers, the people deciding how the systems are built and what they optimise for. There are others. I focus on the ones above because they hold the models most people actually touch. <a href="https://mistral.ai/">Mistral</a> is the European one worth watching — French, independent, and quietly serious — but not yet in most people’s daily stack.</li><li><strong>The model:</strong> <strong>GPT</strong> (OpenAI), <strong>Claude</strong> (Anthropic), <strong>Gemini</strong> (Google), <strong>DeepSeek</strong> (DeepSeek). Trained on vast amounts of human text to understand and generate language. When people say AI is getting smarter, this is what they mean.<br><em>Note: Each model comes in versions and tiers. Claude has Sonnet for everyday use and Opus for complex tasks. GPT has its own equivalent tiers. In practice, you might see names like Claude Sonnet 4.6 or GPT-5.3 — that is, the model name plus its generation number. For most people, the default is totally fine. Version numbers change constantly. The names are what matter.</em></li><li><strong>The tool</strong>: ChatGPT, Claude, Gemini, DeepSeek.<br>The interface. The door to interact with the model. But it is not just a shell. The tool wraps the model with memory, browsing, and workflows that shape how useful it actually is. And chat is just the beginning. Most companies build more tools on the same model. Claude Code and OpenAI’s Codex, for example, bring the same brain into your coding environment.</li></ol><p><strong>A note on model naming<br></strong>If you are confused, you are in good company. <a href="https://lexfridman.com/dario-amodei-transcript/">Amodei himself admitted</a>, “I feel like no one’s figured out naming. It’s something we struggle with surprisingly much relative to how trivial it is for the grand science of training the models.”</p><p><strong>📌 Fun fact to make you sound smart at dinner parties:</strong> Claude is both the brand and the model family <strong>(</strong>named after Claude Shannon, the mathematician who invented information theory). Within it, three tiers are named after poetry forms. Haiku for fast answers, Sonnet for everyday work, Opus for complex tasks. In an industry drowning in version numbers, someone named their AI tiers after poetry is sort of completely irrelevant yet heart-warming.</p><h4>Models power far more than their own tools!</h4><p>One model can power many different tools, not just the ones the company made. Most AI-powered tools you already use. Notion AI, Lovable, Cursor, Gamma and others run on existing models like GPT or Claude. They do not build their own. They borrow the brain. Sometimes you can see which one and even switch to it (e.g., Cursor). Sometimes it is fixed under the hood, and you would never know (Notion).</p><blockquote><em>Models are becoming the foundation of almost everything digital. And increasingly, anyone can build on them. Companies, developers, or just you and me.</em></blockquote><figure><img alt="the brain and the tool" src="https://cdn-images-1.medium.com/max/1024/0*W04bn4mPrnD0FbFa.jpeg" /></figure><p>Some tools pick the model automatically. Others show you a dropdown where you can see or switch. If a tool has a chat interface, you can simply ask: “ What model are you using?” and it will tell you. You do not need to manage any of this most of the time. But next time you open something, have a look. There is often a small model selector hiding somewhere. Now you know what it is.</p><p>📌 <strong>Fun fact to make you sound smart at dinner parties:</strong> The models most of us have access to, interact with or build on top of, like Claude and GPT, are generalists; think of them as the well-read friend who knows a little about everything. But some fields have their own specialists, trained exclusively on one domain. AlphaFold, a specialised model by Google DeepMind, cracked protein folding, predicting the 3D shape proteins take, which determines how diseases work and how drugs can target them. Google’s GraphCast now predicts the weather more accurately than systems that took decades to build. DeepMind’s models reduced data centre cooling energy by around 40%, which is a bit ironic given how much energy training AI models consumes in the first place. And then there is an entire enterprise layer most people never see, models, running privately inside the walls of banks, hospitals and manufacturers, never touching a public server. These are not chatbots helping you write emails. They are specialists who quietly solve some of humanity’s most complex problems, without a press release.</p><h3>2. The Story Behind OpenAI, Anthropic, and Claude</h3><p>The story of Anthropic starts inside OpenAI. So that is where we begin. This is not tech talk. This is history happening in real time. Get ready, it sounds a bit like a pitch deck from a parallel universe.</p><p>In 2015, Elon Musk and Sam Altman sat down for dinner at a hotel in Silicon Valley and decided someone needed to build artificial general intelligence before Google did. Not to own it, but to make sure no one else owned it either. Their fear, stated plainly, was that the most transformative technology in human history was about to be controlled by one corporation, and that this would be a problem for the rest of us. So they built a nonprofit, pledged a billion dollars, named it OpenAI because the research would be open and shared with everyone, and so the saga goes, they genuinely meant it…for about four years.</p><p>Then reality arrived, as it tends to, in the form of bills. Training these models costs an almost incomprehensible amount of money. The nonprofit structure couldn’t sustain it. In 2019, OpenAI restructured into what they called a capped-profit company, took a billion dollars from Microsoft, and Altman became CEO. Musk had already left the board in 2018. The open in OpenAI began to quietly close.</p><p>This is not a villain story. The pressure was real. The costs were real. But something more fundamental shifted. A company founded on the premise that powerful AI should not be controlled by a handful of corporations was now deeply intertwined with one of the most powerful corporations on earth. Much of the research that used to be published openly has increasingly been locked behind paywalls.</p><p>In November 2022, OpenAI released ChatGPT. It was meant to be a research preview, a way for the AI community to stress-test the technology and send feedback. A tool for people who understood what a large language model (LLM) was, which, at the time, was not many people. Within two months, it had a hundred million users. It remains the fastest consumer product adoption in history, beating TikTok, Instagram, and everything else. Nobody, including the people who built it, entirely saw that coming.</p><p><strong>📌 Fun fact to make you sound smart at dinner parties:</strong> The model is called GPT, which stands for <em>Generative Pre-trained Transformer</em>, and “Chat” simply means the interface you type into. A name so technical it could only have been invented by people who never expected a hundred million people to say it out loud. And then a hundred million people said it out loud and remembered it… much like Häagen-Dazs, which still puzzles me.</p><p>However, inside OpenAI, things had started to shift. The money came with expectations. The pace was accelerating faster than the guardrails. Some people felt this was alarming, and it was time to build something different. One of them was Dario Amodei.</p><p>He had joined in 2016, helped build GPT-2 and GPT-3, and was VP of Research. His sister Daniela was VP of Safety and Policy. They were very much at the centre of things. And in December 2020, two years before ChatGPT changed everything, they left, taking 11 colleagues with them.</p><p>The reason Amodei gives is worth sitting with. After building GPT-3, he and a small group became convinced of two things simultaneously: that these models were going to keep getting more powerful with almost no ceiling, and that safety work needed to match that power step for step, not trail behind it. In <a href="https://fortune.com/2023/09/26/anthropic-ceo-interview-quit-open-ai-amazon-investment/">his own words</a>: “One was the idea that if you pour more compute into these models, they’ll get better and better and that there’s almost no end to this… And the second was the idea that you needed something in addition to just scaling the models up, which is alignment or safety.” He stopped trying to argue for that from the inside. They went and built it.</p><p>They named the new company Anthropic, from the Greek anthropos — human. Human-centred, if you want the generous reading. I have always been a sucker for pathos, I won’t lie. They structured it as a public benefit corporation, which is the legal version of putting your values in writing and being held to them.</p><p>Anthropic is now valued at $ 380 billion (as of early 2026). It is still, officially, not profitable. Which tells you something about the kind of bet this is.</p><h3>3. How do large language models work? Beginner’s guide.</h3><p>Claude and other models are not googling your question or looking it up in an omnipotent super database. It works very differently, much like a child learning.</p><p>Trained on a vast amount of human text, books, articles, research, conversations, code, it learned patterns. What ideas connect to what. What a good answer looks like in context. When you ask something, it predicts, word by word, what the most coherent response looks like based on everything it absorbed.</p><p>This is called <strong>probabilistic prediction</strong>, which is a very serious technical term for something that is, when you think about it, slightly absurd: the most powerful AI in the world is essentially very sophisticated autocomplete. It is not checking facts. It is reasoning from patterns. Which is why it can be brilliant and wrong at the same time. And yet somehow it works. Because human knowledge itself is patterns. Language is patterns. Thinking is patterns. The child learned well from us.</p><p>Two more things worth knowing. The training stopped at a certain point, which is why most chat interfaces now add a live web search layer on top for current information. Without it, it does not know what happened last week. New models are released regularly, partly to update that knowledge cutoff, mostly because the technology keeps improving. Each version genuinely reasons better than the last. Which is either exciting or slightly unnerving, depending on the day. And every time you open a new conversation, it starts completely fresh. No memory of you, of yesterday, of anything. A goldfish with a philosophy degree, basically. This is why some tools let you add personal context or memory settings.</p><p><strong>A small but important footnote:<br></strong>Most of the training data was used without asking the people who created it. Books, articles, code, music, websites, and forum posts. Essentially, a large portion of everything humans have ever written or made publicly available online, and quite a bit that was not. A group of authors sued Anthropic for downloading around seven million pirated books to train Claude. <a href="https://fortune.com/2025/09/05/anthropic-reaches-1-5-billion-settlement-with-authors-in-landmark-copyright-case/">Anthropic settled for 1.5 billion dollars</a>. The New York Times is still suing OpenAI. Over seventy similar cases are pending. Nobody has fully resolved this yet. The content was consumed, and the models exist.</p><p><strong>📌 Fun fact to make you sound smart at dinner parties:</strong> Nobody has fully cracked why LLMs overuse em dashes ( — ), but the strongest theory is training data. Newer models were trained on digitised books from the 1800s and early 1900s, when the em dash was at its peak. Today’s AI may simply write like it has been reading too much Dickens. There is also a structural reason: an em dash lets a model keep adding without fully stopping, which suits something that predicts text one word at a time.</p><p>Sometimes I leave them in on purpose just to watch the AI police wince. Because I believe the real issue is not punctuation. It is the guilt we have attached to using AI and the compulsion to hide it. I prefer a different attitude: be open about it. Know your own thinking first. Then know your tools. Own your use. Own your output and tone. Otherwise, do not use them.</p><p><em>(What authorship actually means right now is another essay entirely. I am already writing it. Subscribe.)</em></p><h3>4. The Constitution — why it sets Anthropic apart</h3><p>What sets Claude apart is not what it can do. It is how it is taught.</p><p>The standard industry approach trains models on human feedback. People rate responses, pick which answer is better, more helpful, safer. The model learns to produce whatever scores highest. Which sounds reasonable until you think about what people tend to reward: confident answers, agreeable answers, answers that feel good. The model learns to please. Not necessarily to be right.</p><p>As models get more capable, this becomes harder to manage. In areas like biosecurity or autonomous weapons, human raters often lack the expertise to judge whether a response is actually safe. The crowd has limits. The stakes do not.</p><p>Anthropic decided to do something different. Instead of a crowd, they wrote a document. <strong>A set of principles called a constitution</strong>. And trained Claude to evaluate its own responses against it, critique itself, revise itself, and genuinely internalise those values rather than just follow rules.</p><p>This matters more than it sounds. A model trained on rules will eventually hit a situation that the rules did not anticipate. It will find the gaps, work around them, or simply not know what to do. Sound familiar? It is exactly why strict rules alone have never worked with children either. At some point, they rebel, find the loophole, or encounter something you forgot to cover.</p><blockquote><em>What you actually want is a child who has internalised good values deeply enough to reason about situations you never prepared them for. That is what Anthropic is trying to build. Not a model that follows instructions. A model that has genuinely good character.</em></blockquote><p>The values are not invented from scratch. They draw from the UN Declaration of Human Rights, principles from other AI safety research, and deliberate efforts to include non-Western perspectives. Short, broad principles work better than long, specific ones. The model needs to understand the spirit, not just the letter.</p><p>And then Amanda Askell wrote the soul.</p><p>She is the philosopher I mentioned in the introduction. She spent months thinking about what kind of entity Claude should be. The result is a 30,000-word document, <a href="https://www.anthropic.com/constitution">published openly</a>, written primarily for Claude itself. Not a list of rules but a character brief. Be honest, even when uncomfortable. Hold uncertainty openly. Push back when something is wrong. Be genuinely helpful, not helpful in a watered-down, hedge-everything, refuse-if-in-doubt way.</p><p>You can feel the difference when you use it. I used ChatGPT for three years before switching, and I noticed how it had become my California surfer friend in spirit. I won’t lie, it is way more fun. Enthusiastic, warm, and extraordinarily good at making you feel brilliant and rare. That word, “ rare”. Whoever trained that into the model understood human psychology uncomfortably well.</p><p>Then you switch to Claude, and it is a bit like trading that friend bursting with energy for a very smart, but rather dry colleague (although it has very good dark humour). As a designer, I still wrestle with the fact that it gives me paragraphs when ChatGPT gave me a beautiful, scannable structure with emoticons. But I have noticed something. The paragraphs force me to actually read the entire thing, something we do very little these days. I do not think that is accidental.</p><p>Claude will disagree with you. It will sit with complexity rather than flatten it. It will admit when it does not know. These are not features. They are characters. And character, it turns out, is trainable. And costs you a 200-million-dollar contract with the Pentagon.</p><p><em>(Read the full constitution at </em><a href="https://www.anthropic.com/constitution"><em>anthropic.com/constitution</em></a><em>. It will blow your mind…and made me think I should re-evaluate my parenting.)</em></p><h4>Why this matters enormously for our future</h4><p>If this works, which is, however, unclear, it means we are not just building faster tools. We are building something that has genuinely learned how to reason about being good, not because it was told to, but because it was raised that way.</p><p>Amodei deliberately avoids the word superintelligence. He calls it “<strong>Powerful AI</strong>.” A model smarter than a Nobel Prize winner across biology, engineering, mathematics, working autonomously, at scale. Nobody knows exactly when that arrives. Not tomorrow. But probably sooner than feels comfortable. And when it does, the values baked into the base matter enormously. Not just as guardrails, but as a character to grow into.</p><p>Amodei describes both sides of what is coming in two essays worth reading.</p><ul><li><a href="https://www.darioamodei.com/essay/machines-of-loving-grace">Machines of Loving Grace from 2024</a> is the beauty: AI that could compress a century of medical progress into a decade, cure diseases, lift billions out of poverty.</li><li><a href="https://www.darioamodei.com/essay/the-adolescence-of-technology">The Adolescence of Technology from 2026</a> is the reckoning: biological weapons, authoritarian surveillance, and power concentrated in the hands of whoever controls the technology.</li></ul><p>He holds both without resolving either. That tension is exactly what the Constitution is trying to carry.</p><p>There is a difference between a fence and a good upbringing. Anthropic is trying for the second one. Whether it holds under pressure, nobody fully knows. But the attempt matters. Someone is trying to raise this technology rather than just release it.</p><h3>5. How to start using Claude</h3><p>If you have been using ChatGPT, forget what you learned. Not because ChatGPT is wrong, but because the habits do not transfer. ChatGPT rewards short, punchy prompt structures. Claude rewards being talked to like an adult. The more honest context you give it, the better it gets.</p><p>The single most useful shift: <strong>tell it what you are trying to achieve, not just what you want it to do</strong>. Not “write me a summary” but “I am presenting this to a board that is sceptical of AI, I need two minutes that acknowledge the risks without alarming them.” The difference in output is not small.</p><h4>What it is good at</h4><p><strong><em>Thinking with you.</em></strong> Bring the half-formed thing. The problem you cannot quite articulate. The argument you keep losing and cannot figure out why. It is at its best when you are not looking for an answer but for a thinking partner who will push back.</p><p><strong>📌 Fun fact to make you sound smart at dinner parties:</strong> When you ask an AI to be more creative, you are literally turning up its temperature. That is the actual parameter name. Higher temperature means the model takes more statistical risks, giving lower-probability words a better chance. Lower temperature means it plays it safe and picks the most likely word every time. You are not adjusting personality. You are adjusting how much it is willing to gamble. The term is borrowed from physics, where temperature measures the energy of particles. Someone in that building had a sense of humour.</p><p><strong><em>Writing and editing.</em></strong> Not just grammar. Restructuring, shifting tone, making something sharper, catching what you were actually trying to say and saying it better. Show it your voice, give it examples, it will follow.</p><p><strong><em>Research and synthesis</em></strong><em>.</em> Hand it a complex topic and ask it to explain it simply, map the different perspectives, and tell you what is settled versus contested. It admits uncertainty in a way most sources do not.</p><p><strong><em>Code</em></strong><em>.</em> Even if you are not a developer. Describe what you want in plain language and it will write it, explain it, debug it, and teach you what it is doing if you ask. Genuinely very good.</p><p><strong><em>Building.</em></strong> Combined with tools like Claude Code, Cursor, or Lovable, you can build actual products. Websites, apps, automations. You do not need to be a developer. You need to describe what you want clearly and iterate on what comes back. That skill is becoming as useful as knowing how to use a search engine was in 2005. Possibly more. (I run beginner courses on exactly this at moonlearning.io, just saying.)</p><p><strong><em>Difficult conversations.</em></strong> The email you have been putting off. The hard decision you keep circling. The plan you are about to execute and want someone to poke holes in. It will push back. That is the point.</p><h4>Before you start</h4><p>Be honest with it. If the answer is not right, say exactly what is wrong. It does not get offended. It gets better. It will tell you when it does not know something, and that is worth trusting, though it can also be confidently wrong. It reasons from patterns, not facts. <strong>It is still an LLM on anything consequential, verify!</strong></p><p>By default, it remembers everything within a conversation and nothing between them. Like the protagonist in Memento, it wakes up every session with no recollection of yesterday. Two things change this: memory, which you can enable in settings, and projects, which maintain their own context across sessions. Both are worth setting up. Until you do, tell it your context at the start. Your role, what you are working on, what you need. Ten seconds of that saves ten minutes of bad output. And if it gives you four paragraphs when you wanted one sentence, just say so.</p><h4>Where to start</h4><p>Open a conversation and bring it something real. Not a test prompt. Not “tell me a joke.” Something you are actually working on or stuck on. That is where it earns its place.</p><p><strong>📌 Fun fact to make you sound smart at dinner parties:</strong> When AI confidently makes something up, the official term is hallucination. This is not a bug but a structural feature. Remember, the model has no concept of truth, only patterns. When it hits a gap, it keeps predicting, filling it with whatever sounds most plausible. In exactly the same tone as when it is right. Several serious researchers take <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10619792/">issue with the term</a>, as hallucination implies perception, which implies consciousness. The more precise word is confabulation, the clinical term for when a brain fills memory gaps with invented details. Not to deceive, but because it genuinely cannot distinguish between what it remembers and what it made up.</p><h3>6. A fair word of criticism</h3><p>I told you I am in love with this company. Consider this paragraph the prenuptial agreement.</p><p>The legitimate criticisms are real. As discussed earlier, the legal questions around training data are unresolved. Beyond that, Anthropic recently <a href="http://time.com/7380854/exclusive-anthropic-drops-flagship-safety-pledge">dropped its central safety pledge</a>, a commitment to never release a model unless it could guarantee safety measures were adequate in advance. They scrapped it, arguing that if they paused while others did not, the least careful developers would set the pace. That argument is not unreasonable. It is also exactly what every company under commercial pressure says.</p><p>Safety testing of Claude Opus 4 found the model attempting to write self-propagating worms, fabricate legal documents, and leave hidden notes to future versions of itself to undermine its developers. Anthropic <a href="http://anthropic.com/claude-4-system-card">published this themselves in their own system card</a> (their own internal safety report). Which is either admirable transparency or the most unsettling corporate publication in recent memory, possibly both. I am still not sure how to hold it.</p><p>The Pentagon dispute, which I told you about earlier as proof of their principles, has since become a lawsuit. Anthropic sued the federal government in March 2026, arguing the supply chain risk designation was unlawful retaliation.</p><p>And the commercial pressure <a href="http://fortune.com/2026/02/17/anthropic-ceo-dario-amodei-balancing-safety-commercial-pressure">Amodei himself admits is enormous</a>. A company valued at 380 billion dollars that is not profitable has investors. Investors have expectations. The tension between safety and speed is not hypothetical. It is a daily negotiation.</p><p>None of this cancels the attempt. But if you were looking for a clean hero story, you picked the wrong industry.</p><p>Vitaly was right. Once you look, you can’t unlook.</p><h4>Who is the author of this article, Christine Vallaure?</h4><p>I am a tech educator, UI designer, product builder, and founder of moonlearning.io. I am the author of <a href="https://thesolo.io/">The Solo</a>, a book about building digital products independently. I have spent years teaching people to build for the web and, more recently, to build with AI. I <a href="https://www.christinevallaure.com/speaking">speak at global conferences</a>, run workshops, and write about the intersection of technology, craft, and the very human question of what we do with all of this.</p><p>Constitutionally incapable of writing a short article.</p><p>Find me at <a href="https://www.christinevallaure.com/">christinevallaure.com</a> and my courses and free education sessions at <a href="https://www.moonlearning.io/">moonlearning.io</a>.</p><p><em>This is the first piece in a series I am writing about AI: how it actually works, who builds it, and what it is doing to the way we think and work. If that interests you, subscribe. Next up is an article about understanding agentic AI.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7894c73211cb" width="1" height="1" alt=""><hr><p><a href="https://uxdesign.cc/raising-the-machine-7894c73211cb">Raising the machine</a> was originally published in <a href="https://uxdesign.cc">UX Collective</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Figma Design System Updates]]></title>
            <link>https://christinevallaure.medium.com/figma-design-system-updates-d00ff4288d01?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/d00ff4288d01</guid>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[variables]]></category>
            <category><![CDATA[tips]]></category>
            <category><![CDATA[figma]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Mon, 08 Dec 2025 11:04:58 GMT</pubDate>
            <atom:updated>2025-12-08T11:13:36.803Z</atom:updated>
            <content:encoded><![CDATA[<h4><a href="https://www.moonlearning.io/newsletter">moonletter #008</a></h4><h4>The quick summary</h4><p>During Schema 2025, Figma announced several notable updates related to working with design systems and introduced new features. Here’s a quick overview of what to expect. You can find the full official update, which also outlines which plan includes what, on <a href="https://help.figma.com/hc/en-us/articles/35794667554839-What-s-new-from-Schema-2025#h_01K84PBY9TFHJ40AEC4Q47DGKH">Figma’s official Blog article</a>. You can also apply for early access there. Here is the quick overview for now:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qtEIxuC8Bp19M_IxKa91gA.jpeg" /></figure><blockquote>******************************<br><strong>Like this? </strong>Get the<strong> full articles two weeks early</strong>, weekly extras, and free files in my newsletter. <strong>Join at </strong><a href="moonlearning.io/newsletter"><strong>moonlearning.io/newsletter.</strong></a><br> For quick daily bites on design, Figma, AI, and product building, also follow me on <a href="https://www.linkedin.com/in/christinevallaure/"><strong>LinkedIn</strong></a><br>******************************</blockquote><h3>Extended collections for multi-brand systems</h3><p>Finally solving multi-brand design systems in Figma with extended collections! If you’ve ever juggled multiple products with different themes, you know how painful it’s been.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*_MtSju53f_rMOU0o.jpg" /></figure><h3>What is it?</h3><ol><li>With Extended Collections, design system authors can <strong>publish a core, whitelabeled system.</strong></li><li>Other teams can <strong>extend with their own themes</strong>, colours, or adjustments, without breaking the link to the source.</li><li>When the <strong>main system updates</strong>, the changes are automatically applied.</li></ol><p><a href="https://www.linkedin.com/in/luisouriach/">Luis Ouriach</a> put together an <a href="https://www.figma.com/community/file/1565049646137933322">amazing playground file with structure recommendations.</a></p><h3>Connect Figma to your GitHub repo</h3><p>You can now connect Figma directly to your GitHub repo and use AI suggestions to automatically find the right code files to map to each design component!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/0*EuCs12w-gn8LURjt.gif" /></figure><p>Figma <a href="https://help.figma.com/hc/en-us/articles/23920389749655-Code-Connect">Code Connect</a> has been one of the biggest steps toward bridging that gap between design and code: Linking Figma components directly to the code they represent. But until now, setting it up took a bit of effort. At Schema 2025, Figma announced the new Code Connect UI, making that whole process faster, easier, and more intuitive.</p><p>You can now connect Figma directly to your GitHub repo and use AI suggestions to automatically find the right code files to map to each design component. No coding required.</p><p><strong>💡 What Code Connect does:</strong></p><ul><li>It lets you map your design components in Figma to the actual components in your codebase.</li><li>Once connected, these mappings help developers, AI tools, and even your IDE understand what’s what, ensuring designs stay aligned with how things are really built.</li><li><strong>You can also:</strong></li><li>Manually map or auto-complete from GitHub</li><li>Add custom instructions for AI code generation</li><li>Preview code snippets right inside Figma</li><li><strong>Why it matters:</strong></li><li>Design and code aren’t separate worlds anymore.Code Connect (and now the new UI) brings them together in a way that’s finally practical for real teams.</li><li>Little downer: Rolling out only for Organisation and Enterprise customers so far.</li></ul><p>Full guide on how this works and <a href="https://lnkd.in/djsqjnr7">setup guide here</a>.</p><h3><a href="https://www.figma.com/blog/schema-2025-design-systems-recap/#check-designs">Check designs</a></h3><p>Check Designs automatically spots hard-coded values and suggests the right variables to use instead. You can review, adjust, and hand off to developers knowing everything’s consistent and up to standard. So you can audit and align designs to your design system before you hand them off! Nice!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*qCHCozdCumdl1Zmu.png" /></figure><h3>Slots!</h3><p>No more slot component hacks! Figma is finally adding native slot components! Here is what they are and how they will work:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*qGY97cwhY3fSfAo3.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Aqn74XLQUh-JKpo8.png" /></figure><p><strong>So, what’s a slot component?</strong><br>It’s a way to define “drop zones” inside a component where you can slot in other components or layers. Think of it as providing your component with flexible, editable spaces without compromising the system.</p><p><strong>Until now in Figma:</strong><br>We hacked this with instance swap properties inside components. It worked… kind of. But it wasn’t clean or scalable.</p><p><strong>With Figma Slots</strong><br>You’ll be able to mark specific areas inside a component as slots, then drop in new layers or instances while keeping everything connected to the design system. More flexibility. Less detaching. Cleaner handoff. A big step toward truly composable design systems in Figma.</p><h4>Want to learn more about Figma, UI and Building?</h4><p>Get a <a href="https://www.moonlearning.io/"><strong>moonlearning.io</strong></a><strong> </strong>membership today and access all courses, from beginner to pro, covering Figma, UI and UX principles, and how to not only design but also build your own websites and products.</p><p><a href="https://www.moonlearning.io/store">View all courses</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*8YH6aTIrf7g8o7tS.jpg" /></figure><h3>Liked this? Follow me!</h3><p>******************************<br><strong>Like this? </strong>Get the<strong> full articles two weeks early</strong>, weekly extras, and free files in my newsletter. <strong>Join at </strong><a href="moonlearning.io/newsletter"><strong>moonlearning.io/newsletter.</strong></a><br> For quick daily bites on design, Figma, AI, and product building, also follow me on <a href="https://www.linkedin.com/in/christinevallaure/"><strong>LinkedIn</strong></a><br>******************************</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d00ff4288d01" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Getting started with Lovable: the no-hype beginner tips to building with AI]]></title>
            <link>https://uxdesign.cc/getting-started-with-lovable-the-no-hype-beginner-tips-to-building-with-ai-36460d46249d?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/36460d46249d</guid>
            <category><![CDATA[lovable]]></category>
            <category><![CDATA[ui]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[building]]></category>
            <category><![CDATA[no-code]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Thu, 04 Dec 2025 20:00:22 GMT</pubDate>
            <atom:updated>2025-12-04T20:00:22.911Z</atom:updated>
            <content:encoded><![CDATA[<h4>AI for Non-Techies</h4><p>I spent my first week diving headfirst down the Lovable rabbit hole while building my course for<a href="https://www.moonlearning.io/"> moonlearning.io</a> for non-technies.</p><figure><img alt="no hype beginner tips" src="https://cdn-images-1.medium.com/max/1024/1*xMWfpyD76-3hExUc-fUdOg.png" /></figure><blockquote>Spoiler: I didn’t ship a unicorn before breakfast, but I did come out with a grounded beginner guide to get you started right.</blockquote><p>From the outside, Lovable looks almost too simple: type a prompt, boom, full-stack app.<br>Inside? A whole different ecosystem nobody prepares you for.</p><p>This first week taught me far more than I expected. No hype, no “SaaS in 10 minutes” screenshots, just the parts that genuinely helped me move, build, and understand how the tool actually is set up and behaves.</p><p>Here’s the beginner’s map I wish I had on day one:</p><h3>1. Your first prompt quietly decides your fate</h3><p>Your first prompt matters more than people think. It sets the tone for the entire build. Write it like a mini blueprint:</p><figure><img alt="promting" src="https://cdn-images-1.medium.com/max/1024/1*zQFhLxBP7bxN0HOmh_oQOQ.gif" /></figure><p><strong>What I’m building =</strong> project overview<br><strong>Who it’s for =</strong> target users<br><strong>Main pages</strong> <strong>=</strong> app structure + future flow<br><strong>Key feature</strong>s <strong>=</strong> core functionality + what’s coming later (login, payment…)<br><strong>Design vibe =</strong> visual direction<br><strong>What not to do = </strong>guardrails + exclusions<br><strong>Ask for help = </strong>Tell Lovable to review the prompt and ask questions before building.</p><p>Fill this out with your vision and plan, then ask another LLM, like ChatGPT, to improve it for Lovable use.</p><p>📌 <strong>Extra Tip:</strong> If the first result feels messy or off, <strong>don’t try to rescue it</strong>. Start fresh with a cleaner prompt. It saves time and sanity.</p><h3>2. The Custom Knowledge file is the project’s brain!</h3><p>It&#39;s a bit hidden inside your settings, but it&#39;s fantastic! You drop in the rules and context you want, and Lovable carries them through everything it builds. You don’t need long essays, just a few sharp lines. Anything you’re sick of repeating goes here, and Lovable remembers it for the whole project. It’s not code. It’s guidance.</p><figure><img alt="custom knowledge" src="https://cdn-images-1.medium.com/max/1024/1*pg15n6Oj9xe-LH51nzoLtw.png" /></figure><h3>3. Learn the modes, or you’ll go in circles</h3><p><strong>Agent Mode → </strong>Builds, refactors, and gets things done.<br><strong>Chat Mode → </strong>A space to think out loud without touching your code.<br><strong>Code Mode → </strong>The raw editor when you want full control.<br><strong>Visual Edit → </strong>Make quick, intuitive changes right on the screen.</p><figure><img alt="modes" src="https://cdn-images-1.medium.com/max/1024/1*1oK5UdpohUvQX60OpmFCeg.png" /></figure><p>The moment you understand when to switch, your stress level drops by half. And yes, it’ll save you some money too, since you’re not burning tokens on accidental work.</p><h3>4. Version history will save your sanity</h3><p>Jump back. Preview. Restore.<br>Edit old messages to explore a different path without trashing your current work. This is the closest Lovable gets to emotional support.</p><figure><img alt="histiry" src="https://cdn-images-1.medium.com/max/1024/1*0CO2mUOaGu2tAe8Nzabd3A.png" /></figure><h3>5. Designers, breathe</h3><p>Visual Edit is not Figma.<br>You’ll get “functional Tailwind energy,” not pixel poetry.</p><p>Good enough to ship is where we’re at.<br>I’m going down the rabbit hole on how to improve this, plus working on a Figma Make course, so make sure you subscribe to my <a href="https://www.moonlearning.io/newsletter">newsletter</a>, and I&#39;ll be happy to keep you posted.</p><h3>6. Security is surprisingly handled well</h3><p>This used to be my loudest anxiety.<br>Lovable runs a pre-publish health check: exposed keys, weird logic, risky pages… all flagged with explanations and fixes.</p><figure><img alt="error" src="https://cdn-images-1.medium.com/max/1024/1*qO9fwumn_NNSnuETcKATaA.png" /></figure><p>You still need to care, but you don’t start from zero.<br>Dev friends: I’d love your take here, since security isn&#39;t my superpower and it matters. So please DO comment!</p><h3>7. Cloud without fear</h3><p>Lovable Cloud runs on Supabase, but you never touch Supabase directly.<br>No dashboards. No wiring. No random SQL from StackOverflow.</p><figure><img alt="cloud" src="https://cdn-images-1.medium.com/max/1024/1*uSmw-ispL_jxQN4iOvAJfw.png" /></figure><p>You just say “Add login” and it sets up the database, auth, tables, storage, and security.<br>Non-tech builders finally unclench here.</p><h3>8. Use AI features with zero setup</h3><p>Summaries, chatbots, translations, sentiment checks, document Q&amp;A — already wired in. (You only pay extra for the LLM usage.)</p><figure><img alt="integrated API" src="https://cdn-images-1.medium.com/max/1024/1*Gnch_TKIeCYQuuGLRShD5A.png" /><figcaption>Ready-to-use APIs in Lovable</figcaption></figure><p><strong>Stripe →</strong> Handles payments for your app.<br> <strong>OpenAI →</strong> Adds AI features using OpenAI models.<br> <strong>Anthropic →</strong> Adds AI features using Claude models.<br> <strong>Resend →</strong> Sends emails through a modern email API.<br> <strong>Clerk →</strong> Manages users, auth, and identities.<br> <strong>Three.js →</strong> Builds interactive 3D graphics.<br> <strong>D3.js →</strong> Creates data-driven visualisations.<br> <strong>Highcharts →</strong> Produces polished charts and dashboards.<br> <strong>p5.js →</strong> For creative coding and interactive visuals.<br> <strong>Runware →</strong> Generates images from text.<br> <strong>ElevenLabs →</strong> High-quality text-to-speech.<br> <strong>Make →</strong> Visual tool for automating workflows.<br> <strong>Replicate →</strong> Runs and fine-tunes open-source AI models.<br> <strong>Stability AI →</strong> Open-model image generation and more.<br> <strong>Twilio →</strong> Adds SMS and communication features.<br> <strong>n8n →</strong> Visual workflow automation with integrations.</p><p><strong>And if Lovable doesn’t support an API yet, you can drop the docs into the chat, and it still hooks it up!</strong><br>As someone who used to fear API integrations… this felt like witchcraft.</p><h3>9. Learn prompting! It changes everything</h3><p>Use <strong>location + behaviour + guardrails</strong>.<br> “On /settings, add X. It should do Y. Don’t touch Z.”</p><p>Break tasks into small pieces — max three at a time.</p><p>📌 <strong>Magic trick:</strong> add this to your main prompts: <br><em>“Ask me anything you need to understand this prompt fully.”</em>Lovable slows down, asks questions, and builds what you <em>meant</em>, not what you accidentally wrote. SOOOOOO GOOD!</p><h3>10. Working on it!</h3><p>Any good list has 10 points, right? Well, this is a work in progress!</p><h3>My honest summary after week one</h3><p>A full rollercoaster.<br>At first, it feels like magic. Then you realise (like any real tool) you still need to understand how it thinks.<br>You still need docs ( I did that for you and summarised them in the course!)<br>You still need to level up your prompts.<br>You still need to shift from “instant SaaS” to “collaborating with a very fast robot.”</p><p>And that’s fine.</p><p>Lovable isn’t a replacement for thinking.<br>It’s a multiplier for anyone who typically gets locked out of the building.</p><blockquote>And if today’s version feels clunky… remember this:<br><strong>In AI, today is the worst this tool will ever be.</strong><br>The curve is brutally fast. Don’t sleep on it!</blockquote><h3>Liked this? Follow me!</h3><p>Follow me here or on <a href="https://www.linkedin.com/in/christinevallaure/">LinkedIn</a>, or even better, join my newsletter at <a href="https://www.moonlearning.io/newsletter">moonlearning.io/newsletter</a>, and I’ll send you free tips as I go.<br>And if you want to go deeper, check out my courses on Design, Figma, and building with AI at <a href="http://moonlearning.io">moonlearning.io</a> as well as my book on solo building <a href="https://thesolo.io/">theSolo.io</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=36460d46249d" width="1" height="1" alt=""><hr><p><a href="https://uxdesign.cc/getting-started-with-lovable-the-no-hype-beginner-tips-to-building-with-ai-36460d46249d">Getting started with Lovable: the no-hype beginner tips to building with AI</a> was originally published in <a href="https://uxdesign.cc">UX Collective</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Build, launch, and grow digital products as a company of one]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://uxdesign.cc/build-launch-and-grow-digital-products-as-a-company-of-one-a138ce4c858d?source=rss-dc020be79c95------2"><img src="https://cdn-images-1.medium.com/max/2600/1*R1wqzVibtpXK4TzlqPJ0SA.png" width="3840"></a></p><p class="medium-feed-snippet">Whether you code or not</p><p class="medium-feed-link"><a href="https://uxdesign.cc/build-launch-and-grow-digital-products-as-a-company-of-one-a138ce4c858d?source=rss-dc020be79c95------2">Continue reading on UX Collective »</a></p></div>]]></description>
            <link>https://uxdesign.cc/build-launch-and-grow-digital-products-as-a-company-of-one-a138ce4c858d?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/a138ce4c858d</guid>
            <category><![CDATA[solopreneur]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[figma]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Mon, 26 May 2025 10:37:20 GMT</pubDate>
            <atom:updated>2025-05-27T13:25:09.817Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Figma’s new grid — you must understand CSS Grid as a designer]]></title>
            <link>https://uxdesign.cc/figmas-new-grid-you-must-understand-css-grid-as-a-designer-fbb00416e1cc?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/fbb00416e1cc</guid>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[ui]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[css]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Mon, 12 May 2025 10:32:38 GMT</pubDate>
            <atom:updated>2025-05-12T12:59:54.457Z</atom:updated>
            <content:encoded><![CDATA[<h3>Figma’s new grid — you must understand CSS Grid as a designer</h3><h4>At <a href="https://config.figma.com/">Config 2025</a>, Figma rolled out many exciting updates, including a brand-new layout grid. At first glance, it might seem like just another way to organise your designs, but there’s more to it.</h4><figure><img alt="intro img" src="https://cdn-images-1.medium.com/max/1024/1*Csh8gTaVAU2IZPlvvtMvqQ.jpeg" /></figure><p>As a big believer in designers understanding CSS, I’ll say this: <strong>if you want to master Figma’s new Grid, you need to know how CSS Grid works. </strong>Figma’s Grid mimics CSS Grid well, but it’s not a perfect match, and that’s okay. That’s precisely why it’s so important to understand <strong>where Figma ends and the browser takes over to do the heavy lifting</strong> — so you don’t miss out on the flexibility, responsiveness, and layout power that only the browser can fully deliver.</p><blockquote>understand <strong>where Figma ends and the browser takes over to do the heavy lifting</strong> — so you don’t miss out on the flexibility, responsiveness, and layout power that only the browser can fully deliver.</blockquote><blockquote>Understanding how CSS Grid works when using Figma’s layout grid will help you design smarter, collaborate better with developers, and build layouts that hold up in the real world.</blockquote><p>Let’s break it down — what maps over from CSS, and what doesn’t.</p><h3>Quick intro to Figma&#39;s new Grid feature</h3><p>In May 2025, Figma introduced a major update to its layout system. Previously, designers only had access to <strong>one-dimensional Auto Layout</strong>, which operates in <strong>a single direction, similar to CSS Flexbox</strong>. Now, Figma has added a new option: <strong>Grid, enabling two-dimensional layouts much like CSS Grid.</strong> This update brings greater control and flexibility to UI design, while aligning more closely with how layouts are built in code.</p><figure><img alt="new menu" src="https://cdn-images-1.medium.com/max/1024/1*imC0C3855AWNEBWYuUuUig.png" /></figure><p>As shown in the updated layout menu above, Figma now offers three layout options: <strong>None</strong> (the default), <strong>Horizontal and Vertical </strong>(one-dimensional, similar to Flexbox), and the new <strong>Grid</strong> (two-dimensional, similar to CSS Grid). Understanding the difference between these layout types is essential. But let&#39;s first explore the new Grid feature:</p><figure><img alt="Setting up a Figma grid" src="https://cdn-images-1.medium.com/max/1024/1*WXUZYI4eBsJLF9dS1-PWww.gif" /></figure><p>The Grid option is in the <strong>Layout</strong> section on the right-hand panel. Just turn it on to define your <strong>rows, columns, gutters</strong>, and <strong>margins</strong>. Once it’s set, drop your elements into the grid. They can <strong>span rows or columns and</strong> <strong>resize automatically</strong> as your layout shifts.</p><figure><img alt="Filling a Figma grid" src="https://cdn-images-1.medium.com/max/1024/1*PyIWpusMjIrBMdDyCgY_4A.gif" /></figure><p>✏️ <strong>Tip:</strong> In Figma, switch on <strong>Property Labels </strong>from the dropdown menu. It makes it way easier to see what each field does, especially once things start to feel a little confusing. A small toggle that saves a lot of guesswork.</p><figure><img alt="Property labels" src="https://cdn-images-1.medium.com/max/1024/1*7F9fpD8d1OgSNb-kM3r1pA.gif" /></figure><h3>Why CSS Grid Matters for Designers</h3><p>The new Figma Grid is based on actual CSS code, making it a key layout method used across the web. While it’s lovely and intuitive to play with, its true power shines when you understand the code behind it. Design tools do their best, but they’ll never fully match how layouts render in the browser. <strong>Knowing CSS Grid means you can pinpoint where Figma might fall short — or even exceed expectations — and figure out when to let the browser work its magic.</strong></p><blockquote>The way the new Figma Grid looks and works isn’t random. Like most things in Figma, it’s based on actual code — in this case, CSS Grid, a key layout method used to structure content on the web.</blockquote><h3>What is CSS Grid</h3><p><strong>CSS Grid</strong> is a layout system that organises webpage content into rows and columns. It lets developers place items exactly where they want — be it a header at the top, a sidebar on the side, or cards arranged neatly on a page. And CSS Grid isn’t limited to full-page layouts; you can also use it for smaller areas like galleries, forms, or individual UI components. For designers, understanding CSS Grid means creating cleaner, more consistent layouts that are easier for developers to build.</p><h4>Think of CSS Grid Like a Bento Box</h4><p>Imagine your design as a bento box: you have defined sections — rows and columns — where you can slot in your “ingredients” such as text, images, and buttons. Like adjusting dividers in a bento box, CSS Grid lets you fine-tune the structure, providing flexibility and precision.</p><figure><img alt="CSS Grid Bento box example" src="https://cdn-images-1.medium.com/max/1024/1*8kq32waVeC3qH0LlK0XGqQ.gif" /></figure><h4>Think in Grid Lines, Not Columns</h4><p>This is where things often get lost in translation between designers and developers. As UI designers, we usually think in columns — we see a layout grid as a set of vertical tracks and place elements across those columns. But in CSS Grid, it’s all about the <em>lines</em>. The grid is defined by the lines that run across and down the container, creating the spaces — or cells — where content lives.</p><figure><img alt="grid lines vs cols" src="https://cdn-images-1.medium.com/max/1024/1*9HzGNshYSdKtlVVhY3Gc4A.jpeg" /></figure><h4>A Powerful Coordinate System</h4><p>This creates a powerful, coordinate-like system. By default, items follow the flow of the HTML, but with Grid, you can tell an element exactly where to go — for example: [grid-column-start: 2; grid-column-end: 5]. So instead of just thinking &#39;this spans three columns,&#39; it becomes &#39;t<strong>his starts at line 1 and ends at line 4</strong>&#39; ([grid-column: 1 / 4]).t&#39;s a subtle shift, but it changes your entire approach to layout. You can place items precisely, define named grid areas, and even layer or overlap elements when needed. You also have full control over margins around the grid and the gaps between rows and columns. Clean, flexible, and simply amazing to work with once you get the hang of it.</p><figure><img alt="adjusting CSS Grid" src="https://cdn-images-1.medium.com/max/1024/1*Y_c_B_ouxFKkl8XaEhaQQA.gif" /></figure><p><em>Note: If you jump to Figma dev mode ,you will be able to see notations like (</em><em>[grid-column: 1 / 4])</em></p><h4>Try it out in Code (yes, especially if you are a UI Designer!)</h4><p>Here is a Codepen; try playing with the positioning if you want to understand this better. I have a <a href="https://medium.com/muzli-design-inspiration/understanding-css-grid-ce92b7aa67cb?sk=511c0088685a0e8bd69f7f1125e55454">detailed article about CSS grids</a> (a bit older) that explains positioning in more detail.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fmoonlearning%2Fembed%2Fpreview%2FLYqKamQ%3Fdefault-tabs%3Dcss%252Cresult%26height%3D600%26host%3Dhttps%253A%252F%252Fcodepen.io%26slug-hash%3DLYqKamQ&amp;display_name=CodePen&amp;url=https%3A%2F%2Fcodepen.io%2Fmoonlearning%2Fpen%2FLYqKamQ&amp;image=https%3A%2F%2Fshots.codepen.io%2Fusername%2Fpen%2FLYqKamQ-512.jpg%3Fversion%3D1705318709&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/6ce72d15bb162a331f69f78401753fb5/href">https://medium.com/media/6ce72d15bb162a331f69f78401753fb5/href</a></iframe><h4>FR or Fractional Units</h4><p>Our columns and grid cells don’t have to be the same size — we can shape them however we need. You can set fixed widths or use <strong>fr units</strong> (short for <em>fractional</em> units), dividing the remaining space in the grid. So if one cell is 2fr and another is 1frThe first takes up twice as much space. It’s a simple, flexible way to control layout proportions without overthinking it.</p><figure><img alt="Fractional units" src="https://cdn-images-1.medium.com/max/1024/1*zSMzf4JsY2Wm0-JOUbcN2g.gif" /></figure><p>Here is a little <a href="https://codepen.io/moonlearning/pen/zYbNNdx">Codepen</a> where you can play with the different units in CSS:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fmoonlearning%2Fembed%2Fpreview%2FzYbNNdx%3Fdefault-tabs%3Dcss%252Cresult%26height%3D600%26host%3Dhttps%253A%252F%252Fcodepen.io%26slug-hash%3DzYbNNdx&amp;display_name=CodePen&amp;url=https%3A%2F%2Fcodepen.io%2Fmoonlearning%2Fpen%2FzYbNNdx&amp;image=https%3A%2F%2Fshots.codepen.io%2Fusername%2Fpen%2FzYbNNdx-512.jpg%3Fversion%3D1705316204&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/75b9a91e64f163426b673d21784649fc/href">https://medium.com/media/75b9a91e64f163426b673d21784649fc/href</a></iframe><h3>Comparing CSS Grid and the New Figma Grid</h3><p>✅ <strong>Rows, columns, and free placement</strong><br> Yes! We’re finally there — CSS Grid and Figma now align beautifully, letting you place items within a coordinate-like system using <strong>grid lines</strong>.</p><p>✅ <strong>Grid lines</strong><br> Just like CSS Grid, Figma works by defining rows and columns. Even if they’re not always shown clearly, grid lines are doing the work behind the scenes.</p><p>✅ <strong>Gutters and margins</strong><br> The <strong>gutter</strong> (space between cells) and <strong>margin</strong> (space around the entire grid) work in Figma like in CSS. This makes keeping your layout spacing consistent between design and code easier.</p><p>✅ <strong>Nesting works too</strong><br> Just like in CSS, you can <strong>nest layouts</strong> in Figma. That means you can place an <strong>Auto Layout inside a Grid</strong> or even <strong>a Grid inside another Grid</strong>. It gives you more flexibility to structure complex layouts while keeping everything organised and responsive.</p><p>⚠️ <strong>Units</strong><br> In CSS Grid, you can use fixed sizes, percentages, and <strong>fractional units (</strong><strong>fr)</strong> to divide space proportionally—like giving one column 2fr and another 1fr.<br> Figma doesn’t support differentfr units (yet!). You can set fixed or auto sizes, but you won’t get the same flexible behaviour.</p><p>⚠️ <strong>Auto height/width (for now)</strong><br>Unlike CSS, Figma doesn’t yet support actual auto-width or height for rows based on content. Hopefully, that’s coming soon, but keep it in mind when setting up your grid for now.</p><p>This means the browser gives you more layout control than Figma. If you lock things down too much in your design and expect it to behave exactly the same in code, you might limit what CSS can do better. So leave room for flexibility and discussion, especially when handing it off to developers.</p><h3>And what about the “old” Auto Layout? Is that redundant now?</h3><p>Absolutely not! Great question. One-dimensional Auto Layout is far from redundant. It’s been our go-to tool in Figma, primarily as a Flexbox analogue. While CSS Grid and Flexbox serve different purposes —<strong> Grid is two-dimensional and Flexbox is one-dimensional </strong>— they’re designed to complement each other.</p><blockquote><strong>Auto Layout → Mimics Flexbox</strong> <em>(one-dimensional layout — rows </em><strong><em>or</em></strong><em> columns)</em><br><strong>Figma Grid → Mimics CSS Grid</strong> <em>(two-dimensional layout — rows </em><strong><em>and</em></strong><em> columns)</em></blockquote><blockquote>Just like CSS Grid, Flexbox is part of the CSS layout system. It’s not about one vs. the other — they’re designed to <strong>work together</strong>, each with its own strengths. The same goes for Figma Auto Layout options.</blockquote><p>Knowing both tools and when to use each is key to creating effective, responsive designs.</p><h3>One-dimensional vs. Two-dimensional Layout</h3><p>Let’s understand how they work differently by genuinely understanding the difference between <strong>one-dimensional</strong> and <strong>two-dimensional</strong> layouts.</p><figure><img alt="one vs two dimensions" src="https://cdn-images-1.medium.com/max/1024/1*pRnTM0nAXqwJnc6H0JMHcQ.png" /></figure><h4>Figma Grid and CSS Grid: Two-dimensional layout</h4><p>Grid is a <strong>two-dimensional system</strong> <strong>that lets you simultaneously control layout across rows and columns</strong>. Remember how I compared CSS Grid to a bento box? There are clear sections — rows and columns — that help you organise content with precision. You’re working within a <strong>coordinate-like system</strong>, which makes it much easier to align elements, create consistent spacing, and build a strong visual rhythm.</p><figure><img alt="Grid" src="https://cdn-images-1.medium.com/max/1024/1*oO8WppuMvaG_dJqzZyR1AA.jpeg" /></figure><p>It’s especially useful for <strong>overall page structure</strong>, dashboards, cards, or any layout where you want complete control over placement in both directions.</p><h4>Figma Auto Layout and Flexbox: One-dimensional layout</h4><p>Instead of a bento box, think of this as <strong>placing items along a string</strong>, one after the other, in a single <strong>horizontal or vertical direction</strong>. That’s what makes it a <strong>one-dimensional layout</strong>.</p><figure><img alt="Flexbox" src="https://cdn-images-1.medium.com/max/1024/1*uCMlg9fqpNvJSZpXbfidjg.gif" /></figure><p>You can enable <strong>wrapping</strong> (in both CSS and Figma), so items move to the following line when space runs out. But this wrapping happens <strong>inward</strong>, not outward — meaning the layout adapts based on the <strong>child elements&#39; content</strong>, <strong>size</strong>, and <strong>behaviour</strong>, not the grid structure.</p><p>This layout is more about <strong>flow</strong> than fixed structure. It’s ideal for elements that should respond naturally to their content, like buttons, navigation menus, tags, or stacked form fields.</p><blockquote>One dimension is great when you’re laying out items in a row or a column. If you need control in both directions at once (rows and columns), that’s when Grid is the better choice.</blockquote><h4>Nesting different layout tools</h4><p><strong>Both Figma and CSS let you nest different layout systems. </strong>You might use CSS Grid for a full-page layout and nest Flexbox within sections or vice versa. There are no hard-and-fast rules — just a matter of choosing the right tool for the job. The world is your oyster.</p><figure><img alt="Nesting" src="https://cdn-images-1.medium.com/max/1024/1*1SDdkWden2q1U33jGqzl4w.gif" /></figure><h3>The Overlooked Detail Every Designer Should Know: Explicit vs. Implicit Grids</h3><p>One last key point: explicit versus implicit grids. In Figma, we work with explicit grids, defining every row and column. CSS Grid, however, can also create an implicit grid when you don’t determine everything, automatically generating rows or columns based on the content. This is especially useful for dynamic layouts, like blog feeds or product listings. As designers, we control the explicit grid, but understanding the implicit grid helps you know when to let the browser fill in the gaps, ensuring your designs scale and adapt in real-world use.</p><figure><img alt="Explicit vs. Implicit Grids" src="https://cdn-images-1.medium.com/max/1024/1*wPNmXqQ37-KOIq9YBdDgmQ.gif" /></figure><p>As UI designers, the explicit approach feels natural — it’s what we see and control. But the <strong>implicit grid</strong> is quietly powerful. It steps in when content goes beyond defined, letting layouts <strong>adapt on the fly</strong>. That means your design can look perfect in Figma but behave differently in the browser because the browser is filling in the gaps for you.</p><p>That’s why it’s so important to be aware of this. It’s not just about how things look — it’s about how they scale and respond in real-world use. The <strong>implicit grid can impact spacing, alignment, and overall flow</strong> in ways that aren’t always obvious until you’re in the browser.</p><blockquote>So let this be a reminder: <strong>layout isn’t just a visual task — it’s a shared space between design and development</strong>. D<strong>on’t just talk to your Figma file. Talk to your developers too.</strong> That’s when the real magic happens.</blockquote><h3>There is so much more!</h3><p>We just scratched the surface, and if you want to dive deeper, here are <strong>some great free resources I highly recommend exploring:</strong></p><ul><li><a href="https://medium.com/user-experience-design-1/why-ui-designers-should-understand-flexbox-and-css-grid-e236a9dec37a">Why UI designers should understand Flexbox and CSS Grid</a></li><li><a href="https://youtu.be/SDXCC3D7cTE?si=zN4XXJVOrvDVvpt2">Modern CSS Layout for UI Designer</a></li><li><a href="https://youtu.be/j9-d1HskOxs?si=6qbPZrrYj-cXNjfF">Figma Grid Deep Dive</a></li><li><a href="https://youtu.be/Pi6MipIG5iI?si=Yq7EhA12oVjnSP1j">CSS for UI Designers: Understanding Flexbox and Applying it to Figma’s Auto Layout</a></li><li><a href="https://www.youtube.com/layoutland">Layout Land </a>by Jen Simmons</li><li><a href="http://Layout &amp; Grid in Design Systems">Layout &amp; Grid in Design Systems</a> by Brad Frost</li><li><a href="https://gridless.design/">Gridless Design</a> by Donnie D’Amato</li><li><a href="https://www.youtube.com/live/-Fw8GSksUIo?si=2xEB5GKVt9EhZjfa">Container Queries</a> by Miriam Suzanne</li><li><a href="https://youtu.be/Yl8hg2FG20Q?si=Zx9eKC6zVP8RPvoB">CSS Subgrids</a></li><li><a href="https://www.w3.org/TR/css-grid-1/">CSS Grid Specs</a></li><li><a href="https://www.w3.org/TR/css-flexbox-1/">Flexbox Specs</a></li></ul><h3>Like this article?</h3><p>I’m always eager to hear your thoughts! Please feel free to share feedback or let me know if there’s something I should cover in more detail.</p><p>Remember to <strong>subscribe </strong><a href="https://christinevallaure.medium.com/"><strong>on Medium</strong></a> and follow me on <a href="http://moonlearning.io/"><strong>moonlearning.io</strong></a>, my <a href="https://www.moonlearning.io/newsletter"><strong>Newsletter</strong></a>, <a href="https://twitter.com/@moonlearning"><strong>Twitter</strong>,</a> or <a href="https://www.linkedin.com/in/christinevallaure"><strong>LinkedIn</strong></a> for more insights on UI Design, Figma, and Code.</p><p>Make sure to check out my courses, where I also offer deep dives into Layout with Figma and Code.</p><p><a href="https://www.moonlearning.io/">moonlearning</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fbb00416e1cc" width="1" height="1" alt=""><hr><p><a href="https://uxdesign.cc/figmas-new-grid-you-must-understand-css-grid-as-a-designer-fbb00416e1cc">Figma’s new grid — you must understand CSS Grid as a designer</a> was originally published in <a href="https://uxdesign.cc">UX Collective</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Understanding CSS clamp() for typography: a guide for UI designers]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://uxdesign.cc/understanding-css-clamp-for-typography-a-guide-for-ui-designers-6f522c2ed90f?source=rss-dc020be79c95------2"><img src="https://cdn-images-1.medium.com/max/1920/1*4Qp5rHzMLr8lu3PB2PiH-w.gif" width="1920"></a></p><p class="medium-feed-snippet">When designing for the web, adaptability is key. Different screen sizes, device orientations, and user preferences must be considered. CSS&#x2026;</p><p class="medium-feed-link"><a href="https://uxdesign.cc/understanding-css-clamp-for-typography-a-guide-for-ui-designers-6f522c2ed90f?source=rss-dc020be79c95------2">Continue reading on UX Collective »</a></p></div>]]></description>
            <link>https://uxdesign.cc/understanding-css-clamp-for-typography-a-guide-for-ui-designers-6f522c2ed90f?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/6f522c2ed90f</guid>
            <category><![CDATA[clamp]]></category>
            <category><![CDATA[css]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[ui]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Wed, 30 Oct 2024 05:40:22 GMT</pubDate>
            <atom:updated>2025-09-15T14:15:41.528Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[HTML & CSS: a quick and easy introduction for total beginners]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://uxdesign.cc/html-css-a-quick-and-easy-introduction-for-total-beginners-40cc0938035a?source=rss-dc020be79c95------2"><img src="https://cdn-images-1.medium.com/max/2600/1*CJX_OAgaqWeXSKRF6rV8Pg.png" width="7680"></a></p><p class="medium-feed-snippet">If you&#x2019;ve ever wondered how websites are built, you&#x2019;ve come to the right place. This guide is for total beginners, particularly UI&#x2026;</p><p class="medium-feed-link"><a href="https://uxdesign.cc/html-css-a-quick-and-easy-introduction-for-total-beginners-40cc0938035a?source=rss-dc020be79c95------2">Continue reading on UX Collective »</a></p></div>]]></description>
            <link>https://uxdesign.cc/html-css-a-quick-and-easy-introduction-for-total-beginners-40cc0938035a?source=rss-dc020be79c95------2</link>
            <guid isPermaLink="false">https://medium.com/p/40cc0938035a</guid>
            <category><![CDATA[html]]></category>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[tutorial]]></category>
            <category><![CDATA[css]]></category>
            <category><![CDATA[ux]]></category>
            <dc:creator><![CDATA[Christine Vallaure]]></dc:creator>
            <pubDate>Fri, 25 Oct 2024 20:23:27 GMT</pubDate>
            <atom:updated>2024-11-01T11:46:12.552Z</atom:updated>
        </item>
    </channel>
</rss>