Skip to content

Case study

How we rebuilt our website in a week

We tried it on ourselves first. Then Lucy hit publish. Here's what happened, including the bits we'd do differently.

BLOOM Transitions · Website build · Next.js on Vercel · HubSpot CRM

A monochrome office with warm orange digital accents
Platform

From HubSpot CMS to Next.js on Vercel

Built by

An experienced developer working with Claude Code

Timeline

Brief: 3 September / First draft: 4 September / Live: 10 September 2026

We won't recommend what we haven't tried ourselves.

We wanted design freedom that we felt was slow to build in HubSpot CMS. And before offering clients a modern front end with HubSpot behind it, we wanted to live with it ourselves. Reading about it wasn't enough.

Our own site had waited its turn for six months, because client work always comes first. This time, we tried a different way to build.

The nudge came from David Ward, who'd done the same with his own site and walked us through it at a HubSpot Partner User Group session. We waited about four days before trying it.

The goals

  • A more flexible site that matched the BLOOM brand
  • No loss of search or AI visibility through the switch
  • Keep HubSpot as the engine behind the site

What we changed, and what we didn't.

  1. 01

    New front end, same engine

    The website moved to Next.js on Vercel, and every live page kept its exact URL. HubSpot still runs our CRM, forms, marketing and reporting, and we're still a proud Gold Partner.

  2. 02

    AI did the heavy lifting. A human did the thinking.

    Claude Code wrote the code: every page in Next.js, the move of our blog off HubSpot, and the schema behind each page. An experienced developer, now part of our team, made the judgment calls, starting with what to leave alone.

  3. 03

    Real previews, not screenshots

    Every change came with a live link, so we reviewed the real thing, not a screenshot and a hopeful thumbs up.

  4. 04

    Schema on every page

    We'd just spent 90 days building our AI visibility, so every schema type from the old site came across. The 8 pages that had none now have it, every page gained WebSite schema, and every page except the homepage gained breadcrumb schema.

  5. 05

    The brand work came first

    Our team had already done the thinking on BLOOM's voice, positioning and look. Claude Code helped bring it to life. Our people gave it direction.

Then Lucy went rogue.

The new site looked better than our live one, so Lucy pushed it live and then emailed the team. Subject line: "She's gone rogue."

We'd never do that with your site. Ours is our shopfront and our test lab. Yours gets every check, every time.

Same business. New system.

The old BLOOM Transitions website on HubSpot CMS
Before
The new BLOOM Transitions website on Next.js and Vercel
After

It held through the switch, and in the US it grew.

Did our AI visibility survive? Yes.

  • 45%

    Share of voice in AI answers

    Top of the five brands we track, 11 September to 9 October 2026. Source: HubSpot.

  • 20.08%

    AI visibility

    Late September, against 21.39% at the start of the month. Source: BLOOM AEO tracking.

  • 51 → 79

    Organic keywords in the US

    15 August against 15 September. Source: Semrush.

  • 43 → 77

    US keywords with an AI Overview

    15 August against 15 September. Source: Semrush.

We're not popping champagne (yet). Organic traffic is still in single figures, and the keyword growth sits alongside our ongoing AEO work, so we're not crediting the rebuild alone. In Australia, organic keywords moved from 11 to 12, and in New Zealand from 4 to 5. Semrush takes its monthly snapshot on the 15th, so the September figures were captured five days after go-live.

What we'd tell you before you try this.

  1. 01

    Get the foundations right and the platform matters less

    Our AI visibility held because structure and schema were right from day one.

  2. 02

    Benchmark before you switch

    David did. We didn't. Learn from him on this one, not us.

  3. 03

    A fast foundation exposes every extra script

    A faster site has a funny side effect: it makes every extra script painfully obvious. We now treat tracking tags, chat widgets and tag managers like inventory: every one has to earn its place.

  4. 04

    A website is never finished at launch

    Four weeks after launch, a re-crawl found a broken page, a missing schema field and an empty tracking container. Launch day is when the measuring starts.

Your new website, minus the rogue launch.

Rebuilding our own site changed how we build websites for clients. Your build is only as slow as your sign-off.

Because we're marketers as well as builders, every build plans for what happens after launch: SEO, AEO, schema, CRM and lead capture, analytics, and the customer journey once someone lands on your site.

It won't suit every project. Sometimes HubSpot CMS or Shopify is the better fit, and we'll tell you when it is.

Explore custom website builds