How I’m Using AI to Build a YouTube Channel

Sixteen days after my first Short went up, I posted one that crossed 250,000 views in about 17 hours. The channel has 116 subscribers, 96 of them came from that one video, and it took three hours to make, from my first prompt to pressing publish.

I’m leaving that video’s subject out of this, because what I want to talk about is how all of this gets made, the whole stack, the real numbers and the parts that still don’t work. I’ve got no course to sell you, and 17 days of data doesn’t make me an expert on anything.

This is what YouTube Studio says as of this morning, November 3rd:

  • Views in the last 28 days: 256,197, in a window that ends on November 2nd, so the per-video counts below run a bit higher
  • Watch time: 2.2k hours
  • Subscribers: 116, up 111 in 28 days
  • The big Short: 252,049 views, with people watching 54 of its 59 seconds on average, and 97.6% of those views came from the Shorts feed
  • The other 13 videos combined: about 9,400 views

So that’s one hit and 13 videos barely anyone has watched, let me be clear about that before anyone gets excited.

It all comes back to a solar system

The channel started in June with a devlog about a UFO horror game I built with AI, one video, 83 views, and it turned into what it is now because of 3dsolarsystem.online, a live, true-scale 3D model of the solar system that runs in your browser. You can fly through it, move the clock to another date, watch an eclipse’s shadow cross the Earth and line the planets up at their real sizes. I’ve been building it with Claude for months, and it’s about 200,000 lines of JavaScript and close to 900 commits now. Google Analytics counted about 20,000 active users in the four weeks to November 1st, about double the month before, and most of them came from search.

I moved the channel over to space to bring that site more people, and it turned out the site is also a film studio. It can put a camera anywhere in the solar system, at true scale, on the date I pick, so a space video only needs a camera move and a script. When we made a video about the 2027 eclipse, the shadow in the shot came from the real geometry for that future date, checked against NASA’s predictions.

The two feed each other now, and that’s my favorite part of this whole setup:

  • The site picks the videos. Search Console showed the zoom out was the site’s strongest search theme, people typing things like “universe zoom out 3d”, so one of our first Shorts was a zoom from Earth out to the whole Milky Way, rendered from the viewer’s own scene.
  • The videos add to the site. For “What If Earth Had Rings Like Saturn?” we built a real feature, Saturn’s ring strip drawn around the Earth at Saturn’s proportions, with the rings’ shadow on the Earth and the Earth’s shadow on the rings. It lives in the viewer now, and anyone can open it.
  • The videos link back to the exact scene. Each one gets a short address, like 3dsolarsystem.online/v/5, which redirects you to the shot you just watched, live, so you can fly it yourself. It gets spoken in the narration and burned into the picture, because you can’t click links on Shorts.
  • The fact checks fix the site. An audit we ran for the site’s teachers mode found real errors in the model’s own data, old gravity figures, the Sun’s diameter, and sunlight’s travel time being a second off. That habit then moved into every video.

Two pipelines, and one of them is basically stop motion

The first pipeline renders episodes from the site itself. One episode is one file, a video.mjs holding the shots, the narration, the on-screen text, the Shorts cut from it and the publish metadata, and one command, node scripts/video/make.mjs 4 all, runs the lot. The Moon swap Short is a good example, one camera on the ground looking up at the daytime sky, and each cut swaps the Moon for a planet at true scale, moved every frame to where the Moon really is, so the Sun lights it the way it lights the Moon.

The render is the fun part. A 3D scene in a browser runs in real time, so if you screen record it you get dropped frames and whatever your GPU felt like doing that day. Our pipeline loads the site in headless Chrome on my M4 Max and replaces the page’s sense of time, performance.now, Date and requestAnimationFrame all get swapped for a virtual clock. It works like stop motion, the world only moves when the renderer says so, then it grabs that frame and encodes it with WebCodecs at 3840x2160 and 60 fps, or 2160x3840 for a Short.

The randomness is seeded too, because early on four page loads gave us three different skies. Now there’s a check stage that renders one frame twice and compares the two, which is how you know a re-render of one shot will still cut with the rest.

The rest is plumbing, about 6,400 lines of it. Narration goes through ElevenLabs with timestamps, and those word timings set how long each beat lasts, so the picture gets cut to the voice. Music is usually an ambient track from the site’s own audio engine, so there’s no Content ID risk. ffmpeg ducks the music under the voice, brings the mix to -14 LUFS and assembles the cut, and the last stage writes an upload pack with the title, the description and its sources, the pinned comment, tags, captions, a thumbnail and a checklist. Every stage is cached, so a new voice take just re-mixes the audio and leaves the 4K render alone.

The second pipeline is for things the site can’t show, like being the size of an ant or falling into Jupiter. It’s built on Remotion, which lets you write video as React components, you get a frame number and you return a picture, so nobody’s dragging clips around a timeline. The word timings go in as data here too, so an animation can be keyed to the moment the voice says a specific word, and if the script changes everything moves with it. The Jupiter video started as flat image cutouts from GPT Image and ended up as a raymarched volumetric cloud shader, because that looked so much better. This pipeline usually costs more and, until this week, it had drawn fewer views, then the big Short came out of it with no generated pictures at all.

Claude is the whole production office

All of this gets driven from Claude Code in my terminal, and the piece holding it together is a skill I call the producer, basically a markdown file that explains how this channel works. Every session starts the same way. It runs node script/stats.mjs, which pulls every upload from the channel’s public RSS feed and works out views a day with no API key or login, then it reads docs/channel.md, our running list of what’s published and what the numbers have taught us so far. When I ask what to make next, it has to recommend one video from that evidence, say why, and say what it can reuse.

Claude writes the research and the first draft of the script, the code for the video, the upload copy and the checklist. The house rules sit in that skill too, things like one visual idea per Short, a question in the title, and every fact coming from a primary source it actually fetched. The math sits at the top of each episode’s file, so for the Moon swap you can see exactly how wide Jupiter would look in the Moon’s place:

Moon:    3,474.8 km wide, 384,400 km away = 0.52 degrees
Jupiter: 139,820 km wide, 384,400 km away = 20.6 degrees, about 40 Moons

The rule that’s earned its keep the most is the audit. Before the final render, a fresh agent that hasn’t seen our reasoning goes through the claims. On a video I haven’t put out yet, about a HAL 9000 I built, it checked 64 claims and six of them got fixed. An AI grades its own homework about as generously as you’d expect, so you hand the homework to a different one.

It checks its own pictures the same way. It looks at stills before anything long renders, and it measures the finished video as well. On our 7:47 film of the whole site, We Built the Whole Solar System, and You Can Fly Through It, the contact sheets looked fine, and measuring the motion between frames caught a hangar that never moved, a frozen push on the Pale Blue Dot and a shot of the asteroid belt with no asteroid belt in it. The Pale Blue Dot one, along with a frozen night sky and Earthrise, came from one kind of bug, frame hooks reading a 0 to 1 fraction as seconds.

Corrections stick because they go into memory files that load in the next session. I said the Voyager Short had too many cuts, so now it holds shots for 3 to 5 seconds. I said “a painter never says oh i used this brush”, so our new descriptions stopped crediting the tools, tho a few older ones still do, and this post is the obvious exception.

Uploading is still half manual. The browser tool can’t pass files over 10 MB, so I drag the master into YouTube Studio and then Claude in Chrome fills in everything else from the upload pack. It isn’t always graceful, it once typed into a live watch page with focus on the player, which fired the keyboard shortcuts, went fullscreen, muted it, scrubbed it and liked our own video, and then a stray click opened a recommended video. I told it to stop clicking shit around the Jupiter episode, and that’s in memory now too.

The method behind the big one

I said I’m not getting into the subject, and I won’t, but the method is the most useful thing in this post. The brief was one sentence, find everything public on a story, find the footage, work out one number from it and make it a Short.

Claude collected the reporting, several copies of the footage and a public dataset. Its first attempt at the number came back with a range so wide it was useless, the top end more than double the bottom. About half an hour in it landed on something better, find an object in the frame whose real size you know, so the picture carries its own ruler and nobody has to guess a distance.

Then it checked the answer against that completely separate dataset, and the two landed within about 1% of each other. Then came the audit. A fresh agent redid the measurement blind, before opening any of our notes, and got the same answer. It also made us widen the error bars and own up to a measurement that had been left out of the average, and all of that went into the video’s description, so anyone can check the math.

The Short itself is a Remotion composition at 2160x3840 and 60 fps, with no generated pictures, eight lines of narration, captions built from the word timings and a quiet drone synthesized in about 20 lines of Python. My part in those three hours was the prompt, “keep going”, “show me the video”, “make the 4k version”, dragging the file into Studio and “publish it”. Claude’s checklist laid out what I needed to decide before it went public, and those calls were mine.

For its first six hours it sat at about 3,000 views. Then somewhere around hour seven the Shorts feed opened up, and by hour eleven it was past 200,000. I didn’t see that coming. It’s flattening already, tho, the climb from hour twelve to now has been slow, so I’m not expecting a million.

What the numbers have taught us so far

Every Short we’ve put up, with its views and how much of it people watched on average:

  • The big Short: 252,049 views, 91.0%
  • What Does Spacetime Look Like to Scale? 2,089 views, 71.8%
  • The Solar System to Scale... Can You Find Earth? 1,815 views, 64.9%
  • What If Earth Had Rings Like Saturn? 1,795 views, 71.7%
  • How Small Are We? Zooming Out From Earth to the Milky Way: 1,441 views, 68.1%
  • What If Each Planet Replaced Our Moon? 932 views, 67.6%
  • What If Earth Had No Tilt? 507 views, 74.7%
  • Voyager 1 Is About To Be One Light-Day Away: 291 views, 58.7%
  • What If Earth Suddenly Stopped Spinning? 222 views, 67.8%

That 91% is the interesting number here. A question in the title and one measurement, with the answer about halfway through, and people stayed for the rest.

Spending more hasn’t bought me anything. Earth Stops was the big swing, 12 Seedance shots and a Suno score for 1,188 Higgsfield credits, about $51, and it’s the least watched Short we have. All that generated footage put YouTube’s altered or synthetic label on it, and my gut says that hurt it, but the rings Short carries the same label for its generated ground plates and did fine, so I can’t prove it.

Busy editing hasn’t helped either. The Voyager Short cuts every 1.2 to 3 seconds and it has the lowest retention of any Short, which lines up with what I told Claude at the time, “i think too many changes”. The no tilt Short went up as the 540p preview instead of the 4K master, and it has the second best retention of any Short, which is funny and a little humbling after all that work on 4K60.

Long-form isn’t working yet. Five videos have under 350 views between them, Jupiter only holds people for 31% of its runtime, and the film of the whole site only went up yesterday.

Views and an audience turned out to be different things. Those 252,000 views brought in 96 subscribers, about one for every 2,600 views, and that makes sense, that Short has nothing to do with space and the rest of the channel mostly does. YouTube had sent the site just 37 sessions as of November 1st, against about 18,700 from search, which is rough when feeding the site is why I moved the channel over to space, and the big Short doesn’t point at the site at all.

It also hasn’t made a cent. YouTube does pay for Shorts now, creators keep 45% of their share of a pool, but to get in you need 1,000 subscribers plus either 4,000 watch hours or 10 million Shorts views in 90 days, and watch hours from the Shorts feed don’t count toward the 4,000. From February 2027 you’ll need those 10 million Shorts views to earn from the pool at all, and views from before you join never count (Partner Program, Shorts revenue rules). Published rates run from $0.03 to $0.10 up to $0.07 to $0.20 per 1,000 views, so even if all of this had counted we’d be talking about $8 to $50. So for me Shorts are how people find the work, and the money has to come from longer videos and the things I sell on the site.

What’s still mine, and what’s still a mess

Claude pitches plenty of ideas and I turn down a lot of them. There’s a list in docs/ideas.md of the ones I’ve said no to so it doesn’t bring them back, things like the Sun from every planet or how fast you’re really moving. Picking the idea, watching most of the cuts and deciding whether something should go public at all, those are still my job.

Some of it is just messy. Our eclipse video went out as a 1080p rough cut, my choice, with tile seams over the Sahara and lines written before the fact check. I let 5,184 Higgsfield credits expire unused in October because they don’t roll over, so no tool is going to automate good habits for you.

Claude can also be confidently wrong. One of its early notes blamed a camera for a timing pattern that actually came from a re-encoded copy of the footage, and that only got caught because we compared copies. That’s why the system around it matters so much, the primary sources, the second agent, the math in public. If you use this stuff without that, you’ll get something that sounds right, and you won’t know when it isn’t.

So where does that leave me

The funny part is where the AI ended up. In the video that worked there’s no generated picture at all, nearly all the AI sits underneath, in the reading, the arithmetic and the code. Most of the space videos work the same way, what you’re watching is a model of the solar system Claude and I built together, with the numbers traced back to NASA and JPL, and every video tends to leave the site a little better than it found it.

Right now I’ve got one hit, 116 subscribers and no idea if it repeats. What I do have is a real solar system to point a camera at and a way of finding out what works that can cost as little as three hours a try, and I’ll take that.

参与讨论