Portfolio / Case study

Case study · Directory and review website · 18 days

Twenty years of content.
A new site in 18 days, nothing lost.

A directory and review website had been online for more than twenty years, on an old WordPress install that search engines had stopped trusting. Its owner wrote a plan for the new site. We audited the old one from its own data, built the new one to his plan section by section, and launched it on its own domain 18 days after kickoff. Every old address still answers, and an AI agent now keeps it current.

Speed

18 days

From kickoff to the new site live on its own domain.

Audited from its own data first, before any rebuild was decided.

The owner’s plan

20 of 20

Sections of the owner’s plan built, each one shown on a demo page.

Work beyond the agreement marked “Extra”, so scope never blurred.

Nothing lost

Every

Old address answers as mapped: kept, forwarded to its new page, or removed on purpose.

Checked by a script on every build, and in a rehearsal of the switch.

Sized from demand

13,252

Searches mapped to the pages the plan names.

Then 1,005 more sorted one by one, each with an action and a reason.

Quality at launch

100

Lighthouse score for accessibility, best practices and SEO, on the homepage and a review page.

Every page checked at phone and desktop width.

After launch

Daily

An AI agent on duty, with an engineer setting the rules and checking.

Every page has its next review date.

Client, sector, people and the companies listed are withheld. The figures describe our own work and were re-checked against the project’s records. Nothing here describes the client’s business or audience.

How we got there

Five results,
each with its cause.

18 days

A plan to build to, not to argue with

What held it back

  • The owner had a detailed plan for the new site and a launch date
  • Our own audit and the search data sometimes pointed elsewhere

What we did

  • Followed his plan section by section; where the data disagreed, we wrote the difference down as an open question and left the plan standing
  • Agreed each step before building it
  • A written report every week, and a checklist with every section and its state: done, held waiting on his answer, or ongoing after launch
  • A demo page that walks the owner through every item, with a screenshot

How we report: anything waiting on the client says so, with “ready on our side”, so nobody wonders who holds it.

Every

Old addresses kept working

What held it back

  • Twenty years of pages, linked from other sites and known to search engines
  • Most of the pages that earned clicks were missing from the list the old site gave Google

What we did

  • Every old address classified: keep, forward to the page that now serves it, or remove on purpose; never dumped on the homepage
  • A script checks a running copy of the site against that map on every build
  • Old sitemaps and feeds lead to the new ones; images keep their old addresses
  • The go-live rehearsed with the live switch on, with a written rollback
1,005

A structure sized from demand

What held it back

  • The old site’s traffic measured how it had been run, not what was possible
  • Many pages answered the same need under different wordings

What we did

  • The new structure built from what people search for, mapped to the pages the owner’s plan names
  • 1,005 further searches sorted one by one: merge, hold, drop or new page, each with a reason; 61 new pages came out of it
  • 60 near-duplicate addresses merged before launch, so each need has one page
  • Hubs, filters and list pages that fill themselves from each company’s fields
0

Facts invented

What held it back

  • Hundreds of pages to write in days, in the owner’s own voice
  • Facts about the companies listed change, and some sites refuse automated reading

What we did

  • Written with AI from the owner’s own writing samples, and every page run through a voice check
  • Every fact about a company taken from its own pages, with the source and the date it was checked
  • Pages that need facts we couldn’t source held back, not guessed; lines that read as memories nobody had, cut
  • Comparisons of any two companies side by side, every line with its source

How we write: AI drafts at speed; nothing goes out that can’t be traced to a source.

Daily

Launch is when the work starts

What held it back

  • A directory goes stale the day its companies change their terms
  • The owner’s plan asks for news every week and reviews kept current

What we did

  • An AI agent on duty, with an engineer who sets the rules and checks the work
  • A written routine: daily changes that touch a reader’s money go in that day; weekly news, a refreshed guide and a link check; monthly reviews re-read at the source
  • A content inventory gives every page its next review date and status
  • Companies can ask to be listed: their site is checked against the listing rules, with quoted evidence, and the owner decides in his own admin

Before and during

Audit first.
Then build to the plan.

Before · The audit

Find out where it stands, from its own data.

AreaWhat we didThe number
DataSearch Console export, a full crawl and Google’s own inspection of a sample of pagesIts own data
FindingsWhat Google stopped showing and when, what it never saw, and links worth disavowingVerified vs hypothesis
MeasurementNothing tied traffic to what the site earns: flagged as the first gap1 tracking plan
ProposalFix discovery, measurement and links first, then build comparison hubs on strong reviews8 actions

The owner then wrote his plan for the new site; every one of the audit’s eight actions is done or waiting on his answer.

18 days · The build

One plan, built section by section.

AreaWhat we didThe number
StructureThe plan’s structure, sized from search demand13,252 searches
MigrationEvery old address mapped and checked on every buildEvery address
ContentWritten from sources, in the owner’s voice, voice-checked0 invented facts
DirectoryHubs, filters, comparisons and list pages from each company’s fieldsFilled from fields
QualityEvery page at two widths; three code reviewsEvery page
LaunchRehearsed, then switched on its own domainDay 18

Live on its own domain, built in the client’s own repository and hosting account, with page sources the owner’s team can edit.

Fast, because it is careful

Checked before it went live,
not after.

Reviews of the code

3

Before launch: cleanup (4 reviewers), correctness and security.

10 bugs found and fixed; nothing exploitable.

Listing requests

63 of 63

End-to-end checks passed on the form companies use to ask to be listed.

Every type of question, mistakes and retries, every admin action.

One page per purpose

60

Near-duplicate addresses merged into the page that serves the same need.

Their searches moved with them.

Security

Same day

A critical framework advisory came out mid-build: the site was moved off the affected version and live that day.

Full security check clean afterwards.

How we worked here

  1. Audit before you build

    We looked at the old site’s own data before anyone decided to rebuild it, and separated what was proven from what was a guess.

  2. The client’s plan is the spec

    Built section by section. Where data disagreed, the difference was written down as a question, and the plan stood.

  3. Never invent

    Every fact from a source, with its date. What couldn’t be sourced was held, not guessed.

  4. Keep it running

    An AI agent on a written routine, an engineer setting the rules and checking, and every page with its next review date.

The service behind this case

Offer

AI-assisted modernization

Old software the business depends on? We map what it really does, pin it with tests and replace it piece by piece, with AI speeding up the work and no big-bang rewrite.

An old site that
needs a new life?

Tell us what your site is and what it has to keep. We’ll start where this one started: with its own data, before anything changes.

Privacy

Talk to an engineer

No sales theater. Tell us where your operation feels slow, repetitive or difficult. An engineer reads every message and replies by email.

Prefer to talk? Pick a 15-minute slot →

Your message goes straight to our engineers.