Custom WordPress Theme and Plugin Development

I build native WordPress: block themes, custom blocks and small plugins that use what WordPress already provides. I do not use page builders, and I put nothing proprietary between you and your content.

WordPress’s own tools first

I use what WordPress ships before I reach for add-ons. Layout, colours and type are set in one file, theme.json. You edit templates and reusable sections in the Site Editor. When a page needs to respond to clicks, I use WordPress’s own Interactivity API before any outside framework. The page still works with JavaScript turned off.

Block themes

  • Templates and ready-made sections your editors can use without breaking the design.
  • Colour and style options built into the theme, with no hard-coded CSS.
  • Locked sections and a limited set of blocks where things must stay consistent.
  • Fonts served from your own site, with no trackers and nothing loaded from other companies by default.
  • Often no build step at all, so there is less to break later.

Custom blocks and plugins

Your content types and business rules belong in plugins, so they survive a change of theme. I prefer blocks that save real HTML into the page. They are fast, easy to cache, and still there if the plugin is removed one day.

I keep plugins small. They explain their own settings and clean up after themselves when you uninstall them. Light code is also the surest way to a fast site.

My quality bar

  • WordPress coding standards and automated code checks on every change.
  • Automated tests, including tests in a real browser, run on every change.
  • Careful handling of everything that goes in and out, with a permission check on every action. See WordPress security.
  • Accessibility built in: page landmarks, skip links, visible keyboard focus, and a manual check before each release.
  • Written documentation, including a changelog that says plainly what was wrong.
  • GPL-licensed code that you own.

AI helps. It does not decide.

I use AI tools in development and I say so. The AI suggests, I decide, and automated tests check the result. Nothing goes live because an AI said it was fine.

My open source work

My public work includes a block theme and several plugins on WordPress.org: Dirtbag, Borges Bibliography Builder, Admin Menu Maestro and Keel. See what I am working on.

Common questions

Why not use a page builder?

Page builders give you a quick start. In return you get heavier pages, a second editing tool to maintain, and a site that is hard to move away from. The block editor now covers most of that ground with WordPress’s own code.

Should a custom feature go in the theme or a plugin?

A plugin, if it is about your content or how the site behaves. The theme is for how things look. That way a redesign does not take your content types with it.

Who owns the code?

You do. Everything is GPL-licensed, like WordPress itself.

Get clarity.

More on how I work