If you’re a designer and you’ve tried using AI for basically any design task, you know what I’m talking about. Designer Hang Xu posted on LinkedIn some videos that perfectly illustrate the experience — worth watching. In short: you ask for one thing, the AI delivers another, you correct it, it delivers a third thing, you correct it again, it undoes the previous correction. It’s a cycle that would be funny if it didn’t eat hours of your day.
I went through this. And after going in circles, I thought: what if I change the approach? Instead of asking the AI to create design from scratch, what if I used it for what it does well — text, code, data structuring — and complemented my design skills instead of trying to replace them?
That’s how, among other things, Gothicus brasiliensis was born.
Gothicus brasiliensis is an editorial and artistic project about the Brazilian gothic imaginary — a manifesto, a bestiary of 62 mythological creatures, an interactive map, a card deck, a divination oracle, and an ongoing series of essays. It wasn’t supposed to be all of this. It started as a simple landing page.
To start, I built some HTML prototypes with Claude’s help. I had a clear idea of how I wanted the design and what it was meant to do, so I began modestly. I got excited with the progress and, obviously, bloated the site with about ten things I hadn’t originally planned. I didn’t hold back — the project is artistic in nature and I didn’t want to suppress any creative impulse. What happened was predictable for any designer, but I chose to take the risk: my design became hard to scale.
The site was published and it was working fine. But the design decisions were all buried in the code — colours, typography, spacing, everything scattered across multiple CSS files with no systematisation. Every new page I created required me to hunt down the right values manually, and inconsistencies inevitably crept in. I needed a design system.
The intention, actually, was bigger than solving my immediate problem. I wanted to explore whether it was possible to use AI ethically to improve workflows between development and design — instead of imploding processes that may never have properly existed, or firing professionals. Gothicus became my lab for that.
The last thing I tested was what I called vibe designing: using AI to reverse-engineer the design I’d already created through vibe coding. The reverse of the traditional path. Instead of Figma → code, it was code → design system → Figma.
Step by step, here’s what I did:
First, I asked Claude to analyse the published site’s code and extract the design tokens — the design decisions that were already there implicitly. Colours, typography, spacing, sizes, everything that defines the site’s visual identity but was scattered and undocumented. Claude organised it all into a JSON file structured as a design system. Not perfect, but a solid sketch.
Second, I saved that JSON in the project’s GitHub repository. This was important because it created a versioned source of truth — any change to the tokens would be traceable.
Third, I connected the repository to Figma using the Tokens Studio plugin. The plugin needs a GitHub authentication token to access the repository. Once connected, it read the JSON and gave me a complete palette inside Figma with the project’s design system. I didn’t need to create everything from scratch — the plugin imported the colours, typography and spacing that already existed in the code.
Fourth, with the tokens loaded in Figma, I asked Claude to help me with a step-by-step reconstruction of the site’s screens. Page by page, I redesigned in Figma what already existed in code — now with the token system as a foundation. This also helped me refresh and improve my Figma skills, which get rusty when you spend too much time in code.
What I wanted to do, in short, was use the LLM for what it does best — structuring information, organising data, generating code — and complement my interface design skills. In practice, this allowed me to work as a full-stack designer: an engineering person who knows design, or a design person who knows back-end. A profile that isn’t common, but that AI makes more accessible.
It wasn’t all pretty.
Tokens Studio, to be fully functional, is paid — and I didn’t know that beforehand. The free version has limitations that only surface when you need more advanced features. It’s the kind of information the AI doesn’t tell you because it doesn’t know (or didn’t know at the time).
The result in Figma didn’t come out exactly like the site. There’s an inevitable gap between what exists in code and what gets reconstructed in a design tool — and that gap is one of the reasons I personally don’t love digital product design in the strict sense. It’s a bit tedious and often the implementation comes out completely different from what was designed. In this case, the process was reversed — the code already existed and Figma was the reconstruction — but the gap showed up just the same, only in the opposite direction.
And the AI, as always, got details wrong. Tokens that needed adjustment, classifications that didn’t make sense for the project’s context, decisions I had to correct manually. Claude is a conversational partner that doesn’t get annoyed by infinite questions — which is great for me. But you have to watch the AI tokens (the computational ones, not the design ones) so you don’t hit the limit. On one hand, the limit also forces creativity. On the other, it made me realise that gathering data and requirements remains a deeply human activity.
What I learned from the process was something I already intuited but can now state with more conviction: AI doesn’t replace repertoire — it accesses it. I could only use the tool well because I already knew what I wanted, had already researched, had already made mistakes. I had years of written research on the Gothicus theme. What the AI did was help me dust off that material and explore new possibilities.
Vibe designing works when you have real design underneath the vibe. Without repertoire, without research, without a clear vision of what you want, the AI generates noise — and pretty noise is still noise.
If you have a project that was born in code and needs a retroactive design system, the path I described here works. It’s not perfect, it’s not fast, and it requires you to know enough design to correct what the AI gets wrong. But it’s real, it’s replicable, and it makes the AI work at what it does well instead of fighting against its limitations.
This is part of a series on design, AI and data bias. The previous post — If you can’t explain it, AI won’t help — discusses why the AI bottleneck in design isn’t the tool, but the capacity for translation between languages.