Hand-coded themes built from scratch, custom Gutenberg blocks, and bespoke widget systems — no page builders, no bloated plugins, full control.
Theme development
Built from scratch — always
Every WordPress theme is hand-coded using the WordPress Template Hierarchy, functions.php hooks and filters, and a clean enqueue system — resulting in a codebase that is fully owned, easily extended, and carries zero third-party bloat.
Custom functions.php architecture with organised include files
Child theme development over existing parent themes
Template part system for modular, reusable layouts
Custom post types (CPT) & taxonomies via register_post_type()
Custom fields with ACF Pro or native meta boxes
Full Site Editing (FSE) block themes with theme.json
Bespoke Elementor widgets built for your exact needs
When the Elementor widget library doesn't cover a specific design or functionality requirement, I build a custom widget from scratch using the Elementor Widget Base API — giving you a fully native drag-and-drop widget that works inside the Elementor editor like any built-in element.
Custom widgets extending \Elementor\Widget_Base
Controls panel with text, media, URL, select & repeater fields
Section & tab grouping for a clean editor experience
Dynamic render method outputting fully sanitised HTML
Skin support for multiple visual variants per widget
Registered via elementor/widgets/register hook for clean integration
Standalone WordPress plugin registering 6 custom Elementor widgets — testimonial carousel, pricing table, service grid, team roster, CTA banner, and stats counter — each fully configurable from the Elementor panel.
6 reusable widgets shipped as a single lightweight plugin
All content editable from Elementor with no code edits needed
Child Theme & Elementor Widget Suite
Custom child theme paired with five bespoke Elementor widgets — social proof counter, CTA banner, business hours, testimonial rotator, and a recent-posts widget with thumbnail controls — all drag-and-drop ready.
Parent theme update-safe — zero custom code overwritten
All widgets configurable inside Elementor with no code edits
Elementor Landing Page System
High-converting landing page system built in Elementor using a custom widget kit — animated stats, multi-step form widget, testimonial slider, and a pricing toggle widget — all reused across 12 pages.