The problem
There’s a difference between code that works and a plugin that’s built to last.
A snippet in functions.php solves the immediate problem. A properly built plugin solves it in a way that survives WordPress updates, can be licensed and distributed, handles edge cases gracefully, and can be maintained by someone other than the person who wrote it.
Most custom WordPress code sits somewhere between these two states — it does its job until a core update, a hosting migration, or someone else touching the codebase breaks it in a way that’s non-obvious to debug. Rebuilding it as a proper plugin with PHP 8.4 modern syntax, structured autoloading, WP-CLI support, and documented hooks costs more upfront. It costs much less over three years.
When the plugin also needs to be distributed — sold through a store, installed on client sites, or maintained across an agency’s portfolio — the requirements compound further: licensing enforcement, auto-update infrastructure, activation/deactivation hooks that clean up correctly, and compliance baked in rather than bolted on.
What I build
Structured, documented, distributable.
- EU / German e-commerce compliance pluginsTax display (net-to-gross with correct EU country naming), checkout Buttonlösung compliance, T&C versioning with order-level acceptance logging, Widerrufsrecht integration
- Page builder integration pluginsDynamic data integration for Etch Builder and Bricks Builder — exposing custom fields, CPT data, and calculated values as selectable data sources inside the builder UI
- Database maintenance and migration pluginsCharset conversion (latin1 → utf8mb4) with dry-run mode, per-table reporting, and WP-CLI support — built for safe execution on production databases
- OG image generation infrastructureCloudflare Worker + R2 storage pipeline generating open graph images from post metadata, with AI title rewriting and SlimSEO compatibility — no external SaaS dependency
- Licensing and distribution infrastructureFluentCart SDK-based license key management, auto-update endpoints hosted on GitHub/GitLab, activation/deactivation handling, license validation on plugin load
- WP-CLI command registrationProper WP-CLI integration so plugins can be operated headlessly — useful for automation, batch operations, and server-side tooling without going through wp-admin
- Pay What You Want and pricing flexibility modulesFluentCart-compatible PWYW with minimum price enforcement, suggested price anchoring, and Zoho Books integration for correct invoice generation
Real examples
Plugins I've built and distribute.
Example
PowerKit for FluentCart
FluentCart is a capable e-commerce plugin that ships without the compliance features EU and German law require. PowerKit fills that gap: correct net-to-gross tax display using native EU tax names (with Latin variants for all 27 member states), a Buttonlösung-compliant checkout confirmation flow, Etch Builder and Bricks Builder dynamic data integration for product pages, and a Pay What You Want module. Sold via my own FluentCart store with FluentCart SDK licensing and GitLab-hosted auto-updates.
Example
DB Charset Converter
A database charset conversion plugin for migrating WordPress databases from latin1 to utf8mb4 — the correct encoding for any site handling non-ASCII content or emoji. Runs table-by-table with dry-run mode, a per-table status report before any changes are committed, and full WP-CLI support for scripted or automated execution. Built to be safe to run on production databases where a failed migration or silent data loss is not acceptable.
Example
T&C Versioning for FluentCart
German e-commerce law requires that customers accept the version of your Terms and Conditions that was current at the time of purchase, and that this acceptance can be demonstrated. This plugin manages T&C versioning with SHA-256 content hashing, GitLab commit integration, and per-order acceptance logging tied directly to FluentCart order IDs — providing a complete, auditable record for every transaction.
Not right for
Who this doesn't suit.
- One-off snippets or simple customisations that don't warrant a full plugin architecture
- Projects targeting PHP versions below 8.2
- Plugins intended for the public WordPress.org repository — my focus is commercial and private distribution
- Tight turnarounds with no time for proper scoping and architecture review