Read this case study on its own page
Challenge
This site speaks to three very different readers: businesses weighing up project risk, recruiters checking IR35 status and day rates, and small companies who want a specific problem fixed at a fixed price. One generic page either loses the specifics or becomes cluttered — and hiding content with CSS toggles keeps it from search engines while creating a single point of failure.
Approach
Three fully separate, independently indexable sections of the site — business, recruiter and freelance — each with its own pages, bootstrapped once from a shared source with a small generator and maintained independently since. A start page asks new visitors which fits; returning visitors are sent straight to their preferred section. Static Web Apps routing serves each section's clean URLs, legacy paths redirect, and the audience is recorded in session analytics so conversion can be segmented. The contact form adapts to the active audience, so enquiries arrive pre-qualified for their context.
Outcome
- Each audience gets precisely the right content — scope and warranty for clients, IR35 and rates for recruiters, fixed-price framing for freelance buyers
- Every audience URL indexable on its own merits, with no hidden content in the source
- Returning visitors land where they expect without a picker or prompt
- Conversion reporting segmented by audience
Where judgement mattered
- Separate URLs over client-side toggling — better for search, and one file can no longer break every audience
- Generate once, then maintain by hand: the audiences diverge on purpose, so a shared template would fight that
- No framework — plain HTML, CSS and JavaScript keep the pages fast and the routing simple
Technology stack
Vanilla JavaScript · Azure Static Web Apps routing · Puppeteer-based page generator · first-party analytics