Chester businesses tend to reach out about Craft once the person who understood the install has left, or the agency that built it stopped answering.
That's when Karl gets involved. He's spent every year since founding Expression 37 in 2007 working only in Craft CMS and ExpressionEngine, nothing wider.
He always checks the install itself before recommending anything. Depending on the outcome, that's a fix, an upgrade, or an ongoing retainer.
What draws Craft into a city built around Roman walls?
Steady tourism, mostly, plus a solid retail centre and a racecourse that brings its own seasonal traffic spike. A number of the sites built for that mix run on Craft, and a fair few haven't had a proper look-over since whoever built them originally moved on to something else.
Karl picks these up wherever they've drifted: a booking system nobody trusts anymore, a plugin several versions behind, or bespoke functionality only the original developer ever understood. The install gets read properly first, always, before deciding what to do about it.
Common questions Chester clients ask:
How does an engagement usually get going?
A specific incident tends to trigger it: a booking flow that struggled on a busy weekend, a quote from an agency that never materialised, or simply nobody being able to explain how part of the site works anymore. Karl reviews the codebase directly before quoting.
Is it an issue that you're not based in Chester?
Not in practice. Every part of the work happens remotely, and Chester's well within reach for the rare occasion an in-person meeting is genuinely useful.
The previous developer's no longer around, can this still be picked up?
Yes, one of the most common starting points. Custom-built work gets separated from stock plugins by actually reading the code, not by guessing.
Our site gets a real spike around specific weekends, does that change your approach?
It changes what gets prioritised first. Genuine seasonal load needs stable hosting and a properly tested booking flow well before the busy weekend arrives, not a fix afterwards.
What if our Craft version is years out of date?
That's normal, not a special case. Most of the real effort goes into auditing which plugins still function and resolving Composer conflicts, not the core upgrade itself.
Does support extend to our Stripe integration too?
Yes. Payment connections tend to be wired directly into the templates, so treating them as separate from the CMS itself tends to be exactly where things get missed.
Who this tends to matter for:
Tourism and hospitality businesses whose booking flow needs to hold up during the city's busiest weekends, not just on a quiet Tuesday. Racecourse-adjacent businesses with genuine seasonal spikes that a slow site turns into lost bookings. Retailers running Stripe payments who need that connection properly maintained. And sites left behind by a developer who's stopped taking on Craft work, technically live but practically unsupported.
Ready to get started?
If your website is business-critical and needs a specialist who will take proper long-term ownership of it, get in touch. Karl will respond personally and give you an honest view of how we can help.


