Betting on optimism
---
published: 2026-10-05
reading: 2 min
tags: [meta, astro, cloudflare, ai]
---Every conversation about AI and software lately ends in the same place: what’s left for us? DHH’s Rails World 2026 keynote answered with optimism. The work moves from typing code to steering an agent toward an outcome, and that’s a promotion, not a loss.
I’ll take that bet. This blog went from an empty repository to a live site in a few sessions, built with an agent on Astro and Cloudflare. Here’s what I took from it.
The stack
Astro renders every page at build time. A post is a folder with an MDX file and its images, checked against a schema, so a bad date fails the build instead of shipping. Cloudflare serves the output as static assets, from a Worker with no code of its own:
{
"assets": {
"directory": "./dist",
"html_handling": "auto-trailing-slash",
"not_found_handling": "404-page",
},
"routes": [
{ "pattern": "fabbr.com.br", "custom_domain": true },
{ "pattern": "www.fabbr.com.br", "custom_domain": true },
],
}
Astro writes every page as /posts/<slug>/index.html, and auto-trailing-slash agrees with it,
redirecting /about to /about/. Each custom domain sets up its DNS record and certificate on the
first deploy, and wrangler dev serves the same files the same way locally. The apex and www
serve the same pages, and each names the apex as canonical.
The agent built it with me
The part that felt new was the workflow, not the stack:
- Decisions first. Before any code, the agent interviewed me: hosting, URLs, drafts, design. Every answer went into a plan, and the plan drove the build.
- Prototypes to look at. Four visual directions, screenshotted in light and dark, desktop and phone. I picked the terminal one you’re reading.
- Eyes on the output. A small screenshot tool lets the agent check its own work. It caught a numbered list rendering as dashes before I did.
- A CLI for everything. Writing a post, publishing it, testing, screenshotting: each is one command the agent can run. DHH argues every app should have a CLI for agents; even a blog benefits.
- Gates, not trust. Format, lint, typecheck and build run on every commit; tests build the site from fixtures and read the files. One of them caught a draft about to leak into production.
- Clear lines. The agent writes code and runs anything local. Deploys and credentials stay with me.
None of this needed a big team or a big budget. It needed good tools and the willingness to use them.
Adapt
This has happened before. The printing press, the camera, the spreadsheet: each changed who could do the work and what the work was, and none of them asked permission. This change won’t either. It isn’t something we get to stop; it’s something we adapt to and live with.
Pessimism is easy, and it never builds anything. The tools are here, the platforms are here, and the cost of trying is lower than it has ever been. I’d rather spend that on making things. The feed will say when there’s more.