Stop Just Talking About AI. Start Building With Claude Code

This article is a behind-the-scenes look at what really happens when a marketer decides to stop talking about AI and start building with it. It walks through the process of turning consulting IP into a live, deployed web app, from scoring logic and webhooks to branding decisions and deployment and reflects on the deeper shift that happens along the way. The core argument is simple: AI doesn’t just increase productivity, it expands who gets to build. And when marketers use it to prototype tools, ship micro-products, and operationalise their thinking, they move from commentary to capability, from theory to leverage.

Andy Mills

20/02/2026

There’s a narrative floating around that AI is a shortcut.

That it lets you skip the hard bits.
That it replaces depth with speed.
That it’s for people who don’t want to properly learn.

That hasn’t been my experience.

Building the AI Marketing Roadmap — live at https://roadmap.goodvibemarketer.com/ — didn’t help me avoid learning.

It forced it.

And not in a classroom.

In the codebase.

This Was Never “Just a Survey”

On the surface, the Roadmap looks simple.

You answer a handful of questions.
You get a personalised AI marketing action plan.
A maturity score.
A structured 30/60/90 day roadmap.

But the goal was never to create another mildly boring scoring survey.

I wanted to turn what is usually a static diagnostic into something dynamic and genuinely useful. Something that analyses your responses instantly and produces strategic output that feels considered, not automated.

My background is in CRM and automation. I’ve built complex marketing systems. I’ve built my consultancy site myself. I’ve been building AI agents in n8n and working with tools like Gamma and NotebookLM.

I’m not new to systems.

But building a standalone web app that productised my own IP was different.

This wasn’t about using AI.

It was about shipping something real.

From “I Use AI” to “I Ship AI”

There’s a big difference between prompting a model and deploying a product.

The app needed to:

  • Capture structured survey responses
  • Score them against a defined maturity framework
  • Generate personalised recommendations
  • Trigger an n8n webhook
  • Log structured data to Google Sheets
  • Deliver a tailored email via SendGrid
  • Run reliably on a live subdomain

Yes, it fires a POST request to an n8n webhook. Yes, it passes JSON payloads. Yes, environment variables are configured properly for development and production.

But the plumbing wasn’t the most interesting part.

The architecture was.

Designing the scoring logic.
Structuring the maturity model.
Mapping inputs to meaningful outputs.

AI executed. I steered.

That distinction matters.

Because most AI projects don’t fail at the API layer.

They fail at the clarity layer.

Claude Code Is Not Magic. It’s a Gym.

There’s a misconception that you open Claude Code, describe your dream product, and it materialises fully formed.

That’s not how it works.

You’re inside a real repository. Real files. Real branches. Real commits.

Claude edits code.
You decide direction.

And steering requires precision.

“Make it better” doesn’t work.

“Adjust spacing between sections, tighten the card layout, align the results header hierarchy with my consultancy site, and standardise button states” does.

The more specific I became, the better the output.

AI doesn’t guess taste.

It executes clarity.

GitHub Stops Being Abstract Once You Use It

Before this project, GitHub was something developers referenced.

Now it’s just infrastructure.

Repository equals version-controlled project.
Branch equals safe space to experiment.
Pull request equals controlled merge into main.

Claude would push changes to separate branches. That structure made experimentation safe. If something broke, it wasn’t catastrophic.

Removing fear increases velocity.

That’s as true in code as it is in marketing.

Nobody Tells You About the Branding Work

The first working version of the app had that unmistakable AI-generated website feel.

Functional.
Generic.
Forgettable.

It technically worked.

I wouldn’t have put my name on it.

Getting it to feel like GoodVibeMarketer took significant effort. And it went far beyond picking fonts and colours.

Claude Code executes against your brief. If your brief is vague, your result is vague.

So I changed how I worked.

I used Claude (chat) to help me write detailed specifications before instructing Claude Code. Instead of saying “make it look like my brand”, I created proper design briefs:

  • Exact hex codes
  • Defined background tones
  • Accent colour usage rules
  • Clear typography hierarchy
  • Component-level spacing and layout decisions

That brief then became the instruction set.

The output changed immediately.

AI does not intuit brand.

It responds to articulation.

Generic Images Don’t Build Credibility

The original scaffold used generic placeholder imagery.

It looked like every other AI-built landing page.

So I replaced it.

Custom SVG illustrations were built directly in the codebase to align with my colour palette and tone. That meant learning what SVGs actually are, why they’re preferable to PNGs for interface components, and how to structure them so they scale cleanly and remain lightweight.

SVGs behave like part of the interface. They’re flexible. They can be animated. They don’t blur.

Again, this wasn’t theoretical learning.

It was problem-led learning.

The Animation Rabbit Hole

I wanted the hero section to feel thoughtful, not static.

So I built a subtle parallax effect where illustration layers move at different speeds as you move your mouse.

That required installing Framer Motion.

Which introduced npm packages properly.

The idea that you can extend your application’s capabilities by installing a dependency, and that your package.json file quietly manages everything your project relies on.

One command. New capability.

Claude built the component using React hooks to track cursor position and apply transforms. It also implemented a mobile fallback that disables the effect on smaller screens where there’s no cursor.

That level of thinking matters.

Not just “add animation”.

But “add it responsibly”.

The Results Page Became a Product in Itself

By the time I finished iterating, the results page alone had evolved far beyond the original template.

Over 400 lines of custom CSS.

New components that didn’t exist in the initial build:

  • A visual AI maturity spectrum tracker
  • Diagnostic insight cards
  • A structured 30/60/90 day roadmap timeline
  • Numbered opportunity badges
  • A fully branded footer aligned with my main site

None of that came from a prebuilt theme.

It came from iteration.

Adjust.
Review.
Refine hierarchy.
Tighten spacing.
Rework visual weight.

Over and over.

Taste takes longer than logic.

Deployment Changes the Energy

Running something on localhost is comfortable.

Deploying to a live subdomain is different.

Configuring environment variables correctly.
Separating development and production builds.
Pointing DNS records properly.
Testing that the webhook fires in production, not just locally.

When the app went live, it wasn’t just another marketing asset.

It was an integrated system.

Strategy → Logic → Interface → Automation → Deployment.

End to end.

Built independently.

The Bit Nobody Talks About: AI as Contextual Teacher

The most surprising part of this project wasn’t that AI wrote code.

It was that it explained it.

Why environment variables shouldn’t be hardcoded.
Why .gitignore matters.
Why production builds differ from development builds.
Why CDN-hosted assets are preferable in certain cases.

This wasn’t passive learning.

It was just-in-time learning inside a live project I cared about.

You retain more when the lesson is tied to something you’re building.

You understand more when failure has consequences.

You think more clearly when you have to steer.

AI compressed the feedback loop.

It didn’t remove the thinking.

The Solopreneur Advantage

I build everything myself.

My consultancy site.
My AI agents in n8n.
My workflows.
This web app.

No outsourcing. No hand-offs.

That constraint forces coherence.

The same person who designed the maturity framework defined the scoring engine. The same person who wrote the strategic methodology shaped the UI hierarchy.

AI became leverage.

Not delegation.

That’s an important difference.

What This Means for Marketers

Most marketers are currently using AI to generate more output.

More content.
More copy.
More summaries.

That’s surface-level leverage.

The deeper opportunity is this:

Can you turn your expertise into a system?

Can you productise thinking?

Can you replace static assets with dynamic tools?

Can you build something that delivers value without you manually intervening?

You don’t need to become a developer.

But you do need to become comfortable building.

AI lowers the technical barrier.

It does not remove the responsibility to think clearly.

The Real Lesson

The most valuable outcome of building the AI Marketing Roadmap wasn’t the live app.

It was the shift in identity.

I no longer see technical execution as “not my lane”.

That compounds.

Because once you build one thing, the next thing feels possible.

AI doesn’t replace expertise.

It accelerates it — if you’re willing to engage properly.

The classroom wasn’t theoretical.

It was a repository, a scoring engine, a webhook firing in production, a results page rendering correctly on mobile.

And the teacher responded instantly.

If you’re only using AI to draft content, you’re under-leveraging it.

Pick one part of your expertise that currently lives in documents and conversations.

Have a go at turning it into a system.

Not because you want to become technical.

But because building changes how you think.

AI won’t just build the asset.

It will build you while you’re building it.