Generator
Vibecoding
Scaling
April 12th, 2026
My company is building a feature that helps users discover government benefits based on their situation. There are over 10,000 different benefits out there, each suited to a different kind of person.
Our marketing strategy was clear: create targeted landing pages for each user segment. If we're reaching freelancers, we build a page around benefits curated for freelancers. If we're reaching newlyweds, we build one for them. Each page includes a short guide, a few relevant benefits, and a CTA to try our service.
The challenge? We weren't talking about one or two pages. We were looking at 100+ landing pages, one for each segment. As the only designer on the team, there was no way I could hand-polish all of them.
So naturally, we turned to AI.

The first attempt was the obvious one. Write a detailed markdown file describing our brand style, layout rules, and design system, then ask the AI to generate a full landing page from it.
On paper, it should have worked. In practice, every single page came out looking like a different product.
The composition was all over the place. The layouts were inconsistent. The color usage drifted. No matter how specific I got in the MD file, the AI kept interpreting things its own way. I tried a bunch of AI design tools, tweaked prompts, added more constraints. I got closer each time, but never close enough.
After a while, I had to sit back and admit something uncomfortable: this approach wasn't going to scale.
I had been thinking about this the wrong way. I was asking AI to be the designer. But AI isn't great at design consistency, especially when you need 100 variations of the same visual system.
What if I flipped the roles?
What if I designed the UI components and layouts myself, and let AI only handle the content?
That single shift reframed the whole project. Instead of AI doing everything, AI would only do the one thing it's genuinely good at: generating text, picking from predefined options, and following structured rules.
My job was to prepare the ingredients. AI's job was to assemble them.
To make this approach work, I needed to give AI the components and layouts to assemble from.
Layout components. Pre-built sections like hero image, page header, body content, benefit cards, promo banner, sticky CTA. Each one already designed to match our design system and branding guidelines.

Hero images library. I embedded metadata on every image describing what it represents, which personas it fits, and which campaign goals it works best for. That way AI could pick the right image intelligently instead of guessing.
Icon library. Each icon tagged with context (money, health, education, deadlines, etc.) so AI could pick the right one based on the content it was writing.

Hero Images library + metadata

Icon library + metadata
With all of this in place, AI didn't need to "design" anything. It just needed to pick the right pieces and fill them with the right words.
The architecture ended up being surprisingly clean.
The codebase is a Next.js template that never changes. Instead of modifying the code, AI generates a single JSON file that describes what should go on the landing page. The JSON has a strict schema: which hero image to use, what the page title should be, how many paragraphs in the body, which benefits to highlight, what the CTA says.
Once the JSON is written, the Next.js template reads it and renders the real landing page with the actual components. The browser auto-refreshes so I can see the result live.

The workflow goes like this:
I give the AI a persona, a campaign goal, and a tone (e.g. "Generate a page for freelancers, campaign goal: tax refund guide, tone: friendly")
The AI reads the instructions file and understands the component rules
It picks the best hero image from the library based on the metadata
It calls our government benefits API to fetch real benefit data
It picks the right icons for any tile sections
It writes everything as a JSON file
The template renders it into a pixel-perfect landing page
The key insight is how much less work this asks of the AI. Designing a full UI requires a massive amount of reasoning and tokens. Filling out a structured JSON file? That's something AI is genuinely great at.
Showing real benefits, not made-up ones.
One thing I cared about from the start: the benefit cards on each page had to show real government benefits, not AI-fabricated ones. Trust matters when you're talking about financial support.
So I connected the generator to our government benefits API. When the AI generates a landing page, it actually calls the API with a keyword based on the persona, fetches real benefit data, and displays it on the page.
Each page shows four benefit cards. The first three are fully visible. The fourth is partially covered, creating a subtle hook that nudges users toward signing up to see the rest. Small detail, but it ties the content directly to the CTA.

The generator can now produce a fully designed, on-brand landing page in under a minute, with real benefit data and content tailored to each persona.
What used to require hours of my time per page is now a repeatable, scalable workflow. And more importantly, every page actually looks like it belongs to our product. The consistency problem is solved because AI never touches the visual design layer.
AI is better as an assembler than a creator when it comes to UI.
When I gave AI the ingredients and asked it to cook, the results were messy and inconsistent. When I gave it the recipe and the prepped ingredients and just asked it to plate, everything came out clean. That distinction matters a lot when you're designing workflows with AI.
The era of AI opens up an era of scalability, and our role shifts to designing systems that work.
If I had designed 100 pages by hand, I would have shipped a finite amount of work. By designing the component library, the metadata, and the rules instead, I built something that can scale infinitely without losing quality. That's a very different kind of design work. Less about crafting individual outputs, more about setting up the system so every output is already good. I think that's becoming the most valuable thing a designer can do.
