A bespoke platform and CMS for an education consultancy, built and run
A platform and its own content system, built from nothing, launched in September 2026, and made faster after launch by the person who built it.
A platform, not a brochure site
What this client needed was not a brochure site. They needed a platform their own team could run, with real editorial control, that would not need replacing the first time the business changed shape.
It is a smaller system than the others on this site, and it was built to stay small. A small operational surface is the reason it can be looked after the way it is.
Built from nothing, not assembled from parts
The front end is a React application with motion handled in GSAP, written for this business rather than adapted from a theme. Nothing here is a page builder sitting on top of a template, which is why the interface does exactly what it was designed to do and no more.
The result is a site with no plugin surface to maintain and no third-party layout engine to outgrow.
A content system built for this business, not a generic admin
The platform runs on a bespoke content management system built specifically for it, covering pages, a blog, media, the team directory, enquiries, settings and the site’s own SEO fields across twelve dedicated endpoints.
Access is real access control rather than a single shared login: a superadmin role sits above ordinary accounts, and permissions are enforced centrally so a new editor cannot reach something they should not. The admin ships in light and dark, because the people who use it are in it for hours rather than minutes.
SEO built into the platform, not bolted on afterwards
Titles, descriptions, canonical URLs and social preview images are first-class fields in the CMS, with sensible defaults set once and overridden per page where it matters.
The metadata is rendered server side, so what a search engine reads is what the editor set, without depending on a crawler to execute the application first. That is the difference between an SEO plugin and SEO as part of the architecture.
Built here, and on the Upkeep plan since
The engagement did not end at handover. The platform sits on Upkeep, the lightest of the ongoing plans: updates applied and checked afterwards, security monitored and patched, uptime watched, offsite backups with a tested restore, certificate and domain expiry tracked, and a short note each month including the months when nothing needed doing.
Upkeep is what a system with a small operational surface actually needs, which is why it exists as its own rung rather than as a discount on a retainer. It does not cover the server, and it does not cover new features or design work. Anything outside the routine is quoted before it happens.
The site opened to the public in September 2026, once the content on it was the client’s own rather than a placeholder. Building first and operating after is what made that a quiet day: the platform had been running and looked after for months before anyone was invited to look at it.
The work that happened after it went live
Two things about this system were wrong, and both were found in use rather than in a review. Page content lived in flat files with no validation, no drafts and no way back, and it had been destroyed twice. Separately, a Publish button was promoting what had last been saved rather than what was on the screen, which is the kind of defect that publishes something nobody wrote and says nothing about it.
Both were rebuilt rather than patched. The content moved into a real documents table with validation, drafts, revisions, rollback and locking, migrated without losing a byte. Then the front end was measured and cut: the homepage had been downloading every other page before it could show its own, and the page went from 480 KB to 250 KB with nothing on screen changing.
That is what an ongoing plan is for. The site did not break and then get fixed. It got faster after it launched, because somebody was still looking at it.
By the numbers.
Start with a conversation.
A short conversation first, to work out which of the two routes you are on and whether this is a problem I can solve. The audit is the paid step that follows, and what it produces is yours whether or not anything comes after it.
Twenty-five minutes on Google Meet, and a straight answer either way.
- 01
You describe what you are running, in whatever words you use for it internally.
- 02
You get a straight answer on whether the audit is worth doing at all, including when it is not.