Me

This site: from WordPress and Divi to Statamic

This is the site you are reading, so everything below can be checked by looking around it.

It ran on WordPress for five years, built with Divi, carrying articles on lifestyle and personal growth. The problem was never how the pages looked — Divi is good at that. It was that the three things I kept needing were the three things a page builder is not built to give.

Where the builder stopped

Fields of my own, on both halves of a section. I wanted index pages with their own fields, and the entries under them with different fields again — a project carrying its tools and its outbound links, a talk carrying a film and a date. A page builder models a page as a canvas you arrange. What I needed was a page as a shape, so that filling one in could not produce a layout nobody had designed.

One admin panel, not one per feature. Every capability arrived as a plugin, and every plugin brought its own settings screen, its own vocabulary and its own idea of where things live. Adding a feature meant adding a panel — and the panel is the part whoever edits the site has to learn.

Layout I could reach. Changing the structure of a page meant working around a theme rather than opening a template.

What replaced them

Statamic answers the first outright. Every kind of entry has a blueprint — a list of the fields that kind of entry actually has — so the offers page is built from 68 named fields rather than a canvas, and the template reads them by name. A field left empty drops its whole section instead of leaving a heading over nothing.

The second is why a few things here were built rather than installed. The SEO titles and descriptions on this site are drafted from the entry's own text by an AI model, on a button inside the ordinary publish form — not a plugin with a dashboard of its own. The model sits behind a contract, so two providers are selectable today and a third would be one class.

The third is the part that made the other two possible: underneath, it is a Laravel application, so a template is a file I open.

What came across, and what it runs now

The Arabic archive moved with it. Older articles were translated and videos transcribed with OpenAI and Google Cloud, so years of material stayed readable instead of being dropped in the migration.

Donations run through PayPal, one-time or monthly, with the amount decided server-side and every webhook signature verified before anything is recorded. Articles carry a generated table of contents, a comment thread, and search that highlights the matched term.

The front end is deliberately conservative. Flexbox gap is switched off across the whole build and reimplemented with margins, and aspect-ratio and smooth scrolling are polyfilled, because a real share of the people reading this are on old Android WebViews where none of it works. That is a decision about who gets to read the site rather than a technical preference.

Development tools

  • StatamicStatamic
  • LaravelLaravel
  • Alpine JSAlpine JS
  • JavascriptJavascript
  • TailwindTailwind
  • OpenAIOpenAI

Tell me what you are building

A short description of the problem is enough to start. You will get a straight answer on whether I am the right person for it.

Start a project