Most Craft CMS enquiries out of Leicester involve an install in one of two states: stable but untouched, or genuinely broken while nobody's left to call about it.
Karl takes these on directly, always has. Craft CMS and ExpressionEngine are the only platforms Expression 37's touched since founding in 2007. You deal with him, not an account manager.
He checks what's actually in the install before quoting anything. That's usually a fix, a version upgrade, or an ongoing retainer.
Where we typically come in:
- Trade portals built on Craft for wholesalers and manufacturers, where login-gated pricing and stock data need to stay reliable day to day.
- Sites an agency has stopped maintaining, technically live, practically unsupported.
- Composer setups that have drifted, where dependency conflicts have quietly blocked plugin or Craft updates for months.
- Businesses running Stripe through Craft Commerce or a Salesforce connection that needs someone who can debug both the CMS and the integration itself.
- Teams who want a developer they can actually reach, not a support inbox that routes through three people before a reply.
How a typical engagement starts:
The usual trigger is concrete, an order form that's stopped submitting properly, a Craft upgrade quote that's been sitting unread for months, or a plugin that's flagged as end of life with no clear replacement chosen. Karl reviews the live install and its Composer lockfile before quoting anything, so the number reflects what's actually there. Plenty of that initial work turns into an ongoing retainer once the fire's out.
Common questions Leicester clients ask:
Is remote support enough, or should we be looking locally?
Remote covers it fully, template edits, server work, deployments, all of it. Leicester isn't far if a face-to-face ever genuinely helps, but most clients end up preferring a direct line to the developer over scheduling site visits.
Our developer's disappeared, can someone pick this up cold?
Regularly. Step one is always mapping what's custom-built against what's a standard plugin, and getting that documented before any changes happen. It's a short process, not an open-ended one.
We've got trade pricing that varies by customer account, is Craft built for that?
It handles it well, but that kind of logic is almost always custom-built rather than something a plugin does out of the box, which is exactly why it's the part most new developers struggle to pick up quickly.
What if we're miles behind on Craft versions?
Common enough. Craft's upgrade path from 3 to 5 is well documented, the real work is usually auditing which plugins have kept pace and which need swapping out.
Should the CMS work and the payment integration be handled by different people?
Better not to split them. Stripe and CRM connections through Craft Commerce are built into the same templates as everything else, so whoever's fixing one needs visibility into the other.
How is cost worked out?
Defined project work gets a fixed quote. Ongoing cover runs monthly. Either way you know the number before anything starts, nothing billed by the hour after the fact.
What happens if the site goes down on a weekend?
Retainer clients get priority on urgent issues, that's specifically what the retainer is for. Non-retainer requests still get picked up, just without the same guaranteed turnaround.
Where do we start?
A quick call covering your current Craft version, what plugins are in play, and what's actually prompted you to look into support. That's usually enough to scope the first step.
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.


