Alejandro
Rioja.
Build me one →
Meta · How this site runs

This whole site
is run by agents.

Not "AI-assisted." Fully agentic. The pages, the migration, the OG cards, the trim decisions, the redirects, the translations, the deploy. The only thing I do is decide what's worth shipping.

1,382
Posts under management
13
Languages enabled
342
EN essays after trim
1,040
Translations live
The stack

Nine moving parts. Each one is justified.

No "we use Next.js because vibes." Every layer earned its slot by removing a job from my plate.

Site framework

Astro 5 — static + Cloudflare adapter

Edge-deployed, zero cold start, every page prerendered.

Hosting

Cloudflare Pages + Workers

Free tier covers it. DNS, SSL, CDN, edge functions all in one zone.

Content

Local markdown + Astro Content Collections

Git is the database. The agent can read, write, and refactor every post.

Search

Pagefind — full-text index built at deploy

No external service, no API keys, sub-100ms queries on the edge.

OG / social cards

Zero-dep SVG generator

One card per post, generated from the title at build. 5 KB each.

Forms

Resend via Cloudflare Pages Functions

Honeypot + validation in code. No third-party form builders to maintain.

Translations

13 locales, Polylang-compatible URL structure

Same post lives at `/post/` (EN) and `/{lang}/translated-slug/` (others). LangSwitcher reads `translation_key`.

Agent runtime

Claude Code + the Anthropic Agent SDK

The agent that built this lives in the terminal next to me, reads the repo, runs tests, opens PRs.

Receipts

What the agents shipped this week.

Pulled live from the project's git log. No mock-ups.

Run · 01
Phase 2 — WP → Astro port

446 EN essays + 1,103 translations ported in one autonomous pass

Pulled the entire WP REST corpus, converted HTML to markdown with turndown, downloaded 995 unique images, rewired internal links, generated the legacy-slug redirect map, committed in six logical commits, pushed.

Run · 02
Phase 3 — Traffic-driven trim

GSC + GA4 joined per post; 105 dead-weight posts removed

Scored every essay on clicks, impressions, GA4 views, and brand fit. KEEP-pivot rules protected AI-topic posts regardless of traffic. Cascading delete handled translations sharing the same translation_key + their cover images. 301s appended.

Run · 03
Phase 3 — Cover repaint

1,382 ugly WP photos swapped for branded SVG cards

Each post now uses /og/{slug}.svg as both its hero and og:image — editorial-authority palette, paper background, Fraunces 900 title, centered. Repo dropped from 186 MB to 99 MB.

The why

Why I'm running a personal site like a production system.

Most consultants put their portfolio on Squarespace and call it good. I put mine on a stack I'd actually charge to build for someone else — because the only way to sell agent systems is to live inside one.

The agent that ports my content also writes my OG cards. The agent that runs trim decisions also pushes the redirects. The agent that drafts copy uses the same evals I'd build into a client engagement. Every layer of this site is a reference implementation for the work I sell.

That has two side effects. One: when a prospect asks "show me an agent you've shipped," I show them the page they're on. Two: my marginal cost of writing one more essay, translating one more post, or pivoting the narrative around the AI-agent positioning is near-zero — because the agent does the boring 90%.

The build cost

Migrating from WordPress, porting 1,382 posts across 13 languages, generating cards, indexing search, and pivoting the positioning would have cost a five-figure agency engagement and six weeks of calendar time. The agent did it in a single afternoon and a push.

That's the thing I'd build you. Not a deck about agents — an agent.

Open · 2 build slots

Want a system like this
but for your business?

Discovery call first. I'll tell you whether an agent build is the right move — or whether you'd be better off with a 60-min strategy call.

Weekly · The Agent Operator's Notebook

Operator-grade AI agent playbooks in your inbox.

What I'm learning building agents for myself and clients — the week I learn it. Real systems, real revenue, no LinkedIn theater.

Builders, founders, operators · 1-click unsub · zero course pitches