
Education · Development
Pedagogy Club
Custom WordPress theme and a purpose-built enrolments plugin, so bookings run on logic made for this business.
Twenty-five of the projects that shaped this decade: WordPress and plugin builds first, then the branding, marketing and photography that came with them. Each one opens a case study, most linking out to the site that is still running.
Selected work
A custom plugin build, the largest name on the list, and a brand identity taken from stage design through to stationery.

Education · Development
Custom WordPress theme and a purpose-built enrolments plugin, so bookings run on logic made for this business.

Media · Marketing
Brought in to help reset cyber messaging and awareness for the UK's largest news media group.

Events · Branding
Full brand identity for a TEDx event, stage design through to stationery.
Everything else
22 projects shown
Bettafi
Marketing site for an AI personal finance app, built for speed and clarity around a genuinely technical product.
Fintech / AI
Development
MHV Clinic
Osteopathic clinic site built to turn visitors into booked appointments, not just look clinical.
Healthcare
Development
Chear Beauty
A product-led website built around a real catalogue, with photography to match.
Beauty / eCommerce
Development
High Five Family Fitness
Local gym site built to get memberships booked, not just browsed.
Fitness
Development
HD Security Systems
A security installer's site engineered to convert enquiries into surveys booked.
Security
Development
Ecoboxes
Brand identity and website for a sustainable packaging business.
Sustainability
Development
Al Jannah Villa Marrakech
Art direction, brand strategy and website design for a luxury villa rental.
Hospitality
Development
Kemp Services
Website design built around the photos, copy and keywords the business actually needed.
Professional Services
Development
DCD Connect
Event photography, content and web development for a data centre industry conference.
Tech / Events
Development
DDG Windows
Rebrand and identity for a windows and glazing installer.
Construction
Branding
KBMD Chartered Certified Accountants
Identity work for a chartered accountancy practice.
Professional Services
Branding
Taur Security
Brand identity and print collateral for a security services firm.
Security
Branding
Vijay's Virasat
Full brand identity and photography for a restaurant, from logo to menu design.
Hospitality
Branding
Tulsi Vagjiani
Branding, photography and social content built around a personal brand.
Personal Brand
Branding
Protech Autocentres
Logo and brand identity for a vehicle service centre.
Automotive
Branding
Metro Laundrette & Dry Cleaners
Rebrand for a laundrette and dry cleaner, refreshed for a new generation of customers.
Services
Branding
London Kings Clothing
Branding, photography and social content for a clothing retailer.
Retail / Fashion
Branding
Sefia London
Brand identity for a fashion label.
Fashion / Retail
Branding
Fireaway Pizza
Local marketing and branding support for a Fireaway franchise location.
Food & Beverage
Marketing
Japex Automotive
Google Ads and social media management to keep enquiries flowing for a car dealership.
Automotive
Marketing
The Hollybush Bar & Restaurant
Brand photography and identity for a bar and restaurant.
Hospitality
Photography
Triage Vets
Full rebrand and photography for a veterinary practice.
Veterinary
Photography
Where the client's identity stays out of it by agreement, but the technical substance doesn't.
A self-storage operator's booking data lived entirely inside a third-party platform. Their WordPress site showed unit availability that was hours, sometimes days, out of date, costing them bookings on units that had already sold.
What I builtA custom plugin that syncs live occupancy and pricing from the external platform's API directly into WordPress, handling pagination and webhook updates so the site reflects real availability within minutes, not a manual export.
The resultTheir team stopped manually updating listings. The site stopped quoting availability that no longer existed.
A booking platform needed its public storefront, its checkout, and its internal sales pipeline to share one source of truth: instead of leads falling through the gap between the website and the CRM.
What I builtA plugin layer connecting the storefront and booking flow directly to the CRM's deal and task objects, so a form submission becomes a tracked deal automatically, with the right stage, owner, and follow-up task.
The resultNo lead touches a spreadsheet. Every enquiry has an owner within seconds of landing.
An ageing site built on a page builder couldn't handle the client's growing product catalogue without slowing to a crawl.
What I builtA fully custom PHP theme built around their inventory data model from the ground up, rather than bending a generic template to fit it.
The resultThe catalogue can grow without the front end degrading, because it was built for that from day one.
Bookings came through a generic form that couldn't show real availability or price a job properly, so quotes went out wrong and slots got double-sold.
What I builtA multi-step booking engine that reads live availability and applies the business's own pricing and capacity rules in real time, so the customer sees an accurate price and a genuinely open slot before they commit.
The resultBooking became self-serve and accurate. The team stopped un-picking double-bookings and re-quoting by hand.
Customers had no way to manage their account, bookings or documents without emailing the office, so routine admin swallowed the team's day.
What I builtA secure customer portal built into the site, accounts, self-service booking changes, document access, connected to the systems the business already ran on.
The resultRoutine requests moved from the inbox to self-service, and the team's time went back to the work only they could do.
That's usually the interesting part. Tell me what you're starting, or what's broken.