I rebuilt my entire website via Telegram

I’ve been running my personal site on Notion + Super.so for a few years now. It worked fine. Write in Notion, pages appear on the web. Simple.

But “fine” has a way of becoming “frustrating” over time. The styling limitations. The slow load times. The nagging feeling that my content was trapped in someone else’s database, rendered through someone else’s infrastructure.

I’d been meaning to migrate to something I actually controlled. A proper static site. Markdown files I could version control. The whole developer fantasy.

I just never got around to it. Because migrations are tedious. Because I have two kids under five. Because there’s always something more urgent.

Then I set up Clawdbot.


The experiment

Clawdbot is an AI agent that lives in my terminal, connected to my life—calendar, email, home automation, and Telegram. I can text it like a friend, and it has access to my filesystem, my tools, my credentials.

I wanted to see how far I could push it. Could I rebuild my entire website without sitting down at my computer?

The answer, it turns out, is yes. I did it last night and this morning. From bed. While watching House of Guinness on Netflix (not my favorite show, but giving it a shot).

”Hey, can you migrate my blog?”

It started with a simple question:

now

Clawdbot recommended a few options. Astro stood out—static by default, but with the flexibility to add server-side stuff later if I needed it. I said go with that.

now

From there, it made all the other technical decisions. Tailwind 4. Content collections. The hosting setup. I didn’t ask it to justify any of these choices. I don’t particularly care. It’s a static site.

It hit a snag early on—some blog posts had nested content in Notion columns that weren’t coming through. I told it to fix that. It did.

The design conversation

For the visual design, I had one request:

now

That’s it. Clawdbot has access to a front-end skill that handled the rest. The result looks better than anything I would have designed myself. I’m not a designer. I know what I like when I see it, but I can’t make it from scratch.

The migration snowball

Once the foundation was there, I kept texting requests:

now
now
now
now

Each message spawned a flurry of file changes. Sometimes I’d course-correct:

now

By this morning, I had a complete site. 29 pages. 18 blog posts. 95+ images downloaded from Notion and properly referenced. RSS feed. Sitemap. SEO tags. The works.

What I actually did

Let me be honest about my contribution:

  1. Texted requests — Usually 1-2 sentences, from bed, half-watching TV
  2. Made decisions — What pages to include, what the vibe should be
  3. Course-corrected — “That’s not quite right, try this instead”

That’s it. I didn’t write a single line of code. I never opened VS Code. I never opened my laptop at all until this morning to look at the finished product in a browser.

The part that feels weird

I’ve been building websites for 15 years. I know how to do this. I’ve done it dozens of times.

But I didn’t want to do it. Not the tedious parts. Not the Notion API pagination. Not the image downloading. Not the frontmatter formatting. Not the RSS feed XML structure.

Those are solved problems. I’ve solved them before. Solving them again doesn’t make me a better developer—it just makes me busy.

What I actually cared about was the end result: my words, on my domain, in a format I control. The implementation details were obstacles, not opportunities.

🤔 There’s a version of me from five years ago who would find this lazy. Who would insist that “real developers” write their own code. That version of me also mass-spent mass-weekends on mass-projects that mass-never shipped.

What this means for “vibe coding”

Everyone’s talking about vibe coding right now—the idea that you can describe what you want and let AI figure out the implementation. I’ve been doing that for months with Cursor and Claude Code.

But this was different. This wasn’t vibe coding. This was vibe delegating.

I wasn’t sitting at a terminal, iterating in real-time, watching the code appear. I was in bed, half-paying attention to a mediocre Netflix show, occasionally glancing at my phone to see progress updates and send the next instruction.

The feedback loop stretched from seconds to hours. And somehow, that made it more useful, not less. Because the bottleneck was never the code. The bottleneck was me finding time to sit down and focus.

The stack, for those who care

  • Framework: Astro 5.x
  • Styling: Tailwind CSS 4.x
  • Content: Markdown with frontmatter, managed via Astro content collections
  • Images: Downloaded from Notion, served locally
  • Design: Film-like, vintage, typography-first (generated by Claude Code)
  • Deployment: Cloudflare Pages
  • DNS: Migrated to Cloudflare (also via Telegram)

I didn’t choose any of this. The agent did. It even migrated my DNS records from Vercel to Cloudflare Pages while I was texting it. I described what I wanted and it figured out the implementation. The site is fast. Like, actually fast. No client-side hydration for blog posts. No Notion API calls on every page load. Just HTML.


Lingering questions you may have

Did you review the code at all?

No. It’s a static site. It either works or it doesn’t. It works.

What about the images?

Notion hosts images on temporary URLs that expire. Clawdbot downloaded all 95+ images, saved them locally, and updated the Markdown references. This was one of those tedious tasks I absolutely did not want to do myself.

Could you have done this faster by just… doing it?

No. I would have procrastinated for another six months. The async, low-effort nature of texting from bed is what made this actually happen. If it required me to sit down and focus for a full day, it never would have shipped.

Is the code good?

I don’t know and I don’t care. It’s a static site that renders my blog posts. It works. It’s fast. That’s all that matters.

Isn’t this kind of lazy?

Yes. That’s the point. I have two kids, a full-time job, and a band. My free time is precious. I’d rather spend it on things that require my actual judgment and creativity, not on implementing RSS feeds for the fifteenth time.

What’s next?

Figure out what other tedious projects I’ve been avoiding that could work this way. Newsletter automation? Twitter scheduling? The backlog is long.

Can I see the site?

You’re looking at it.