← Back to home

A Personal Blog Built with Claude Code — An Ad Guy Who Let AI Write All the Code

Long-Form Video · EP0012 May 18, 2026 10:00
What this episode covers

My digital avatar's usage blew up past what I can afford — time to take it offline. And friends keep telling me the videos run too long, they want a text version. Two things at once — so let's just build a blog.

  • Before you start, get the AI to teach you the concepts involved (domains / iframe / servers / ICP filing)
  • I'd already bought a server on Tencent Cloud, and gave Claude Code the API key so it drives the server directly
  • Visuals run on the light version of my own PPVM skill
  • Mandatory WeChat QR login to read the body text, WeCom QR code stays
  • Raw full transcript + a restructured digest — both versions
  • I'd hit the WeChat callback-domain trap before, and that lesson is in memory where it can look it up itself
  • Didn't look at a single line of code the whole way

The domain is XNTJ.tv, same as my site, and the old Live2D digital avatar goes offline.

A lot of you have figured out by now that my WeChat Channels handle is my own website.

My Live2D digital avatar has had a usage spike lately that I can’t afford to keep paying for, so I’m taking it down. At the same time plenty of people keep saying my daily videos run too long — is there any chance of a text version?

Two things at once — so today, step by step, I’ll build the blog that becomes my site, and put the transcripts and tutorials from past videos on it.

1. Briefing the digital avatar — ask the AI how it should be done first

I started by having my Live2D digital avatar hand me two implementation paths:

  • Notion + Super — the requirements are clear, it’s a content-display site, videos plus tutorial text.
  • Ghost — you never touch code, you just write; far cleaner than WordPress, ships with a membership system, so paid content later is already there.

The avatar’s call: you’re in the phase where volume matters, don’t burn time on tooling. Start with Notion + Super, live within a day if it goes smoothly; once the content piles up, then think about migrating to Ghost or self-hosting.

It added one more structural read — traffic comes from short video and accumulates in the blog. WeChat Channels is the entrance, the blog is home base.

2. The most interesting part of learning with AI — when you don’t know a word, keep asking

I hadn’t heard of a lot of the words in those options: iframe, WordPress, ICP filing. For a total beginner, even “server” and “domain” may be new.

So keep asking: “What is a domain? How do I get one of my own?” “What’s an IP? What’s ICP filing?”

Learning those basics is on you — go ask the AI.

3. Open Claude Code and give it the brief

So today we open Claude Code and get this site built.

Before this step I’d already bought my own server on Tencent Cloud and handed the Tencent Cloud API key to Claude Code. Meaning Claude Code can now operate my server directly — write code locally and deploy it straight to the server.

The brief:

  • Put the thinking or the tutorial from every video on the blog
  • Users have to log in by scanning a WeChat QR code, so I know who’s been reading
  • Clean, good-looking UI, no complicated features
  • Deploy to my Shanghai server
  • Use XNTJ.tv as the domain (the site’s old Live2D digital avatar can go offline — the compute really did blow past budget)
  • Do the overall plan first; only once the plan is out do we talk implementation

It came back with a complete plan: WeChat login, content architecture, UI design principles, tech stack recommendation, domain and deployment cutover — it had thought the whole thing through.

I added one constraint: visuals follow my own PPVM skill, light version (that’s the standardized system I built for UI design taste; it has a light set and a dark set, and this time we go light).

4. Content details — I want both versions

It came back with questions: how should the long-video transcripts be handled?

My answer: keep the raw transcript, and produce a digest alongside it. The digest isn’t a summary — it’s the core content pulled out and restructured. I want both.

No video embeds for now; links to WeChat Channels or other platforms may come later.

Login strictness: mandatory. You must log in to see the body text. Purely read-only, no interaction, but keep my WeCom QR code so people can reach me.

5. The WeChat callback — the lesson is in memory, it can find it itself

WeChat QR login has an old trap: the callback domain throws an error. I hit it the first time I built this, and I put the lesson into memory.

This time Claude Code went straight into my project memory and found that earlier experience. When you go do this yourself, don’t worry that you don’t have that much project experience — all of mine came from hitting traps one at a time.

And if it can’t crack it either? Have it go find the WeChat page that documents callback usage in detail, hand that page to Claude Code, and it reads the page and solves it itself.

So through this entire process I didn’t look at a single line of code, all right? Not one line of code.

6. Opening the site for a real test

It’s done. Open the site and look — it took some initiative based on my habits:

  • The homepage lets you add me on WeChat
  • Every episode has its cover, title, summary, and date
  • Click in and you get the digest (rough figures)
  • Once you log in you can read the full text
  • Login state shows in the top right
  • The full text also gets one-click copy-all → paste it into an agent to study
  • And you can see the episode’s full transcript

Ran the QR login end to end — all working. A fully usable personal blog.


That’s it for today. On the 21st I’ll be in Shenzhen for the Feifan Awards event — come find me on-site and talk AI.

I didn't look at a single line of code through this whole thing.