Writing
Occasional writing on web development, design, and the craft behind the work.
Lint, plan, dry run, GO, push over REST, verify. The pipeline I built to retag dozens of WordPress templates for UENI's AI generator without breaking any of them.
At UENI, an AI pipeline fills Elementor templates with each customer's copy and images. I own the placeholder system it reads, and the first lesson was that the name does more than you think.
Skills, MCP servers for GitHub, Vercel, Hostinger and Apify, a browser, live docs and a plugin that argues for less code. What I connect to Claude, and the limit I set on each.
How I run repeatable client work through Claude Code skills: the model does the judgement, scripts do the deterministic part, and nothing ships without a GO.
A landing page that looks like a theatre poster does not have to load like one. The budget came first, and the design had to fit inside it.
I build WordPress sites for a living. Most of my recent work is not WordPress, and that is a judgement, not a trend.
A Lighthouse score is a symptom, not a goal. What the CAPFA rebuild changed underneath it.
I built a RAG agent at United because a task was boring. It gave the team back a fifth of its capacity.
Divi and ACF get dismissed as drag-and-drop. On JC Consultora they were the base for two pieces of custom PHP.
SADA runs a political electoral registry on Google Sheets. That was the right call, and here is why.
I trained VML's entire technology department on n8n, Flowise and LangChain. The hard part was not the tools.
I teach social engineering awareness using mentalism. The overlap with security is not a metaphor.
Five magicians' sites later, an accidental niche turned out to teach me more about interfaces than most client work.
Portfolios show launches. The actual work is DNS, SSL, backups, and the Tuesday a site gets hacked.
I build client sites locally with AI coding tools in the loop, so nothing reaches production untested.
The best metric on my CV is also the one I trust least. Here is the honest version.
A site I cannot measure is a site I cannot improve. Notes on GA4, GTM, and where SEO is heading.
Notes on turning a stock Astro template into something that feels deliberate.
A short note on why this blog exists and the kind of thing I plan to write about.