Custom plugins, built for your business

When WooCommerce or WordPress doesn't quite do what you need, a custom plugin fills the gap - without bloating your site.

Here's how I've helped business owners

Every plugin below was built to solve a real problem - no bloat, no unnecessary features, just what the business needed.

Affiliate Links Tracker screenshot

Affiliate Links Tracker

A full affiliate link management system with HMAC-signed click URLs, server-side GA4 event tracking, bot filtering, and a React-powered real-time clickstream dashboard.

  • HMAC link signing prevents fraudulent clicks and spam traffic at the source
  • Server-side GA4 events capture data even with ad blockers enabled
  • Real-time dashboard with CSV export gives the marketing team instant visibility
  • Cron-based API sync keeps the external clicktracker in step without manual effort
Print Customiser screenshot

Print Customiser

An end-to-end custom printing journey for WooCommerce - customers design gazebos with vinyl or dye-sublimation prints, upload artwork to S3, and see interactive flat-lay diagrams in real time.

  • Cuts out back-and-forth emails by capturing print specs at checkout
  • Artwork files go straight to S3 - no clogged inboxes or lost attachments
  • Pricing rules engine handles complex vinyl/sublimation combinations automatically
  • Order metadata flows cleanly into the fulfilment pipeline
Top Banner screenshot

Top Banner

A lightweight, sticky announcement banner with separate desktop and mobile content. Optional alternating message slider keeps mobile visitors engaged without cluttering the screen.

  • Runs lean - zero bloat, no framework dependency
  • Separate desktop and mobile messaging means you're not compromising layout
  • Sticky behaviour respects the WordPress admin bar so logged-in users aren't annoyed
  • Colour pickers, icons, and enable/disable toggle all built into a dead-simple settings page
Crystal Chooser screenshot

Crystal Chooser

An interactive Vue.js word-cloud tool for SurrenderToHappiness.com - visitors pick three words they're drawn to and get personalised crystal recommendations delivered through a smooth, single-page flow.

  • Turns passive browsing into active engagement - visitors stick around longer
  • Personalised results build trust and increase conversion to product pages
  • Zero page reloads; the whole experience runs inside a single shortcode
  • Animated word cloud with weighted sizing makes the interaction feel premium
WP Menu to JSON screenshot

WP Menu to JSON

Export any WordPress navigation menu to a clean JSON file, edit it in your text editor, and import it back - hierarchy fully intact. Ideal for bulk edits, staging-to-production sync, or version-controlling menus.

  • Edit 200 menu items in a text file instead of clicking through the admin UI
  • Migrate menus between environments in seconds - no manual rebuilds
  • Store menu structure in Git for change tracking and rollback
  • One-click download or copy-paste import - works with any workflow
Media URL Proxy screenshot

Media URL Proxy

During local development, this plugin silently rewrites media URLs to point at your production domain - so you can see real images without pulling down a multi-gigabyte uploads folder.

  • Saves hours of syncing when setting up a local dev environment
  • Rewrites post content, attachment URLs, and srcset attributes - nothing misses
  • A single settings field - paste the production domain and you're done
  • No performance hit on production; only activates when the domain differs
WP Custom Author URL screenshot

WP Custom Author URL

Replace WordPress author links with custom URLs - point them at your social profiles, an About page, or any destination. Global and per-user settings with automatic author archive redirects. 5,000+ active installs.

  • Stops author archives leaking usernames and creating duplicate content
  • Per-user override means each author can link to their own social profile
  • Redirects direct /author/ URLs too, so nothing falls through the cracks
  • Set-and-forget - install it once and it keeps working across theme changes
Custom Empty Price for WooCommerce screenshot

Custom Empty Price for WooCommerce

Replace the empty price on WooCommerce products with a call-to-action button, advisory text, or any custom HTML. Three content types with configurable CSS classes for full styling control.

  • Turn "no price" from a dead end into a lead - "Contact for pricing" button
  • Plain text, button, or raw HTML modes - pick what suits your use case
  • Supports shortcodes inside the HTML field for popups, forms, galleries
  • Inherits your theme's button styles so it doesn't look out of place
WP Dev Flag screenshot

WP Dev Flag

A floating badge that visually distinguishes your development or staging site from production. Configurable colour, position, text, and optional link - no more mistaking environments at a glance.

  • Prevents the "wait, am I on live?" panic before every edit
  • Environment detection - won't accidentally show on production after a DB sync
  • Shows in the admin bar too, so you're covered front-end and back-end
  • Optional link lets you jump straight from staging to live with one click
Stock Message For WooCommerce screenshot

Stock Message For WooCommerce

Adds a "Notify Me" button to out-of-stock products and automatically emails customers the moment inventory returns. Optional email verification and reCAPTCHA keep spam out of your waitlist.

  • Recovers sales that would otherwise be lost during stock outages
  • Emails fire automatically - no manual list exports or Mailchimp campaigns
  • Works with simple, variable, and grouped products including individual variations
  • Subscriber management dashboard with search and filtering built in

Why a custom plugin?

Off-the-shelf plugins are great until they aren't. They do 90% of what you need and then you're stuck. Or they bolt on features you'll never use, slowing your site and adding maintenance overhead.

A custom plugin does exactly what you need. Nothing more, nothing less. It's leaner, faster, and built to fit how your business actually works.

What I build

  • Custom WooCommerce extensions - product configurators, pricing rules, custom checkout flows
  • Membership and subscription functionality that goes beyond what plugins offer
  • Integration bridges - connect your store to CRMs, ERPs, fulfilment systems, or any API
  • Reporting dashboards that pull data from multiple sources and present it clearly
  • Internal tools and automations to streamline your operations
  • Migration scripts when moving platforms or consolidating data

How it works

  1. We talk. You tell me what you need. I'll tell you if a custom plugin is the right solution or if something off-the-shelf would work better.
  2. I scope it. Clear requirements, clear timeline, clear cost. No surprises.
  3. I build it. Clean, documented code that other developers can pick up and understand.
  4. You get support. I stand behind what I build. If something goes wrong, I fix it.

What this isn't

I don't build quick hacks that fall apart six months later. I don't take on projects where an existing plugin would do the job just fine. And I don't build things I can't support long-term.

Tell me what you need