← Back to blog

How This Blog Was Built

aiweb-developmentastrodocker

Lire en français

I built this blog in one evening. With an AI. And honestly, it was weird.

Not “scary robot overlords” weird. More like “pair programming with someone who knows everything but nothing about you” weird. We had to figure each other out as we went.

Here’s how that actually went down.

The Plan (Or Lack Thereof)

I wanted a blog. Nothing fancy. Somewhere to dump thoughts, share projects, maybe help someone avoid mistakes I’ve already made.

What I didn’t want:

  • To spend a week configuring webpack
  • To pay for hosting (I’m cheap)
  • To maintain a database for a few articles
  • To remember how CloudFront works (spoiler: I never do)

So I opened Claude and said something like: “Help me build a blog. Keep it simple. I don’t want to spend money or lose my mind.”

And then the negotiation began.

The Back-and-Forth

AI doesn’t read minds. It asks questions. A lot of them.

“Static or dynamic?” Static. “React?” Rather not. “Multiple languages?” Yeah, French and English. “Budget?” Zero. Free tier or bust.

This is where it gets interesting. Claude suggested Astro — a static site generator I’d heard of but never tried. Explained why: content-focused, supports Markdown, no JavaScript by default, great for blogs.

I said sure. Then I added my twist.

“Always Docker. Never install anything on my machine directly.”

Claude tried once to run node --version locally. I shut that down fast. It learned. Never happened again.

That’s the thing about working with AI: you have to train it on your quirks. It remembers them. But you have to speak up first.

The Mess

Things broke. Obviously.

The first Docker build failed because node_modules created symlinks that Windows didn’t like. We added a .dockerignore. Fixed.

The i18n setup was confusing at first. We started with filename suffixes (post.fr.md), then switched to folders (fr/post.md). Better.

The social links looked wrong in the footer. Too big. Had to make a compact version. Small fix, but I noticed it, not the AI.

That’s the pattern: AI builds fast, human catches the “this feels off” moments.

What We Actually Built

For the curious:

  • Framework: Astro (Markdown content, zero JS shipped by default)
  • Dev: Docker + devcontainer (I don’t install locally, remember?)
  • Hosting: AWS S3 + CloudFront
  • Deployment: GitHub Actions
  • Languages: EN/FR with browser-based language detection
  • Cost: $0/month

The whole thing lives in a git repo. ARIA (my AI second brain) keeps track of decisions we made along the way. If I forget why something is the way it is, I can just ask.

The Weird Part

Here’s what nobody talks about: collaborating with AI feels like pair programming with someone who has perfect memory but zero taste.

It remembers every constraint. It never forgets that I want Docker. It recalls that previous error message from 30 minutes ago.

But it doesn’t know what “good” looks like. Not really. It suggests things that technically work but feel wrong. Too corporate. Too wordy. Too… AI-ish.

So you push back. “Make it shorter.” “Sound more like a human.” “No, not like that.”

And slowly, over iterations, it gets closer to what you actually wanted.

The Meta Part

This article was also written this way. I gave Claude the context, said “make it sound like me,” and then edited the result. Cut some parts. Rewrote others. Added the jokes.

It’s not AI writing. It’s not human writing. It’s something in between — a collaboration where neither party could have done it as well alone.

I couldn’t have shipped this blog in one evening by myself. Too much context-switching, too many forgotten configs, too much “wait, how does CloudFront work again?”

And the AI couldn’t have done it alone either. It doesn’t know my preferences. It doesn’t know when something “feels right.” It doesn’t have opinions — just options.

Together, though? We move fast.


That’s the story. One evening, one AI, one blog. No magic. Just a lot of back-and-forth until we both figured out what we were building.

If you want to try this yourself, here’s my advice: talk to the AI like a colleague, not a search engine. Set your constraints early. Push back when something feels wrong.

And maybe keep Docker around. Your machine will thank you.


Built with Claude. Edited by me. Deployed while I was still wondering if it would work.