Skip to main content
← All projects

BringVan

A UK moving-company directory, built as a programmatic SEO surface.

Visit BringVan

BringVan screenshot
01

The problem

Finding a mover in the UK means searching a town name and landing on a page of paid ads or a directory that has never heard of your postcode. Comparing firms is guesswork, and the good local operators are invisible unless they buy their way up.

The demand is intensely local: people search "removals in <town>", not "removals". That shape of demand rewards a site that has a real page for every town, which is a content generation problem before it is a product problem.

02

What I built

A directory whose surface area is generated rather than authored: nested routes produce a page per country, per location and per moving company, with structured data on every company page.

Search resolves what someone types against a locations endpoint rather than a geocoder, so "Oxford", "OX1" and "Oxfordshire" all settle onto a canonical location slug. That slug is what filters the movers query, alongside rating and price band.

The commercial signal is contact attribution: every phone, email, maps and social click is recorded against the mover and the source it came from, which is what makes the directory measurable rather than decorative.

03

Decisions I'd defend

Search does not fail silently. When someone types a place the system cannot resolve, the query is sent with a flag marking the location unresolved, so unserved demand is recorded rather than discarded. Over time that is a map of where to recruit movers next.

Location resolution deliberately went through an autocomplete endpoint rather than a postcode geocoder. A geocoder returns coordinates; what the directory actually needs is the canonical slug of a place it already has a page for, and matching to that up front keeps every downstream URL stable and indexable.

04

Where it is now

Live, with real movers listed and the generated location and company pages serving: a country page, a page per location and a page per company all return and carry their structured data.

Contact attribution is the part that is genuinely wired. Every phone, email, maps and social click posts to that mover's contact-info endpoint with the button that produced it and the surface it came from, which is what makes the directory measurable.

Two flows are presentation ahead of the API. The quote form and the mover registration flow both validate, show a success state and log their payload without sending it anywhere. The registration flow even fakes a delay before succeeding. They look finished and are not, which is worth saying plainly rather than letting the page imply otherwise.

Three things follow from that and are the next work rather than finished work. The sitemap at /sitemap/sitemap.xml returns an empty urlset and robots.txt carries no Sitemap line, so the generated pages are reachable but not being handed to crawlers — on a site whose whole argument is programmatic SEO, that is the first thing to fix. The verified badge on a mover is a field on the record rather than the output of any verification process. And the testimonials are placeholder copy from the build, not real reviews.