ExpressionEngine enquiries from Cardiff businesses usually mean the site's in one of two states, ticking over unpatched, or genuinely causing problems with nobody left to call.
Karl handles it from there, on his own. He's kept Expression 37 to ExpressionEngine and Craft CMS only since founding it in 2007.
The site gets reviewed properly before anything's recommended. Depending on what Karl finds, that's a fix, an upgrade, or a retainer.
Who this tends to matter for:
Media and broadcasting organisations where downtime or a factual error carries reputational weight, not just a commercial one. Public sector bodies with accessibility and accuracy obligations that a badly maintained CMS quietly puts at risk. Organisations running content in both Welsh and English where the two versions have drifted apart because the original setup never linked them properly. And any business whose previous developer or agency is no longer contactable, leaving a site that works today but that nobody could confidently change tomorrow. Where Stripe payments or a HubSpot contact sync sit alongside the CMS, treating them as a separate problem from the site itself tends to be where things quietly break.
What the first few weeks usually involve:
Before quoting anything, Karl reviews the templates, the add-ons, and however the bilingual content is currently structured, since Cardiff handovers often come with more assumptions than documentation. Most engagements start from a specific prompt: a content workflow that's become unworkable, a security notice about an outdated add-on, or a straightforward decision that the site needs proper ownership again. From there it's either a defined project or a retainer, agreed before any work starts.
Common questions Cardiff clients tend to ask:
Does it matter that you're not based in Cardiff?
Not for the work itself. Everything from code review to deployment happens remotely, and it holds up well in practice. Cardiff is close enough that an in-person conversation is never a real obstacle when one's genuinely useful.
Can ExpressionEngine handle Welsh and English content properly, or does that need rebuilding?
It can be done properly without a rebuild in most cases. The channel and field structure supports genuinely linked bilingual content, the issue is usually that an older site was set up as two loosely connected sections rather than one coherent structure, and that's fixable.
We took this site over from a previous developer, can you make sense of it?
Yes, it's one of the most common starting points. Working out what's bespoke, what's a modified add-on, and what's simply undocumented takes a proper read of the code rather than a guess from the front end.
How far behind can an install get before it's genuinely risky?
There isn't really a threshold. Plenty of EE2 and EE3 sites still run fine. The exposure builds in the add-ons wrapped around the core, not the core itself, so age alone isn't the useful question to ask.
What does ongoing support actually cover?
Faster response when something goes wrong, someone actually checking the site periodically instead of waiting to hear about a problem, and the same developer handling it each time rather than a new face.
How is this priced?
A one-off audit or project is a fixed quote. Ongoing support runs as a monthly retainer. Either way, the cost is agreed before anything starts.
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.


