DEV Community

Philomatics
Philomatics

Posted on

Building a programming YouTube Channel from 0 to 1 million views and 30k subs in under 6 months, with no prior audience

On my channel, Philomatics, I create fast-paced tutorials/quick tips for developers. Right now, I focus on intermediate content for learning how to use git & GitHub. I've tried other topics on software engineering as well, and will probably branch out more in the future.

  • How I got started:
    • I started creating videos at the beginning of this year, and I had fully completed my first three videos (one, two, three) before uploading them and starting the channel. I had everything finished, including thumbnails & description etc. and scheduled them all on YouTube before publishing the first video. My goal was reaching 1k subs until the end of the year. Guess I set my goal a bit too low, feeling super lucky and humbled (and also a bit terrified)
    • I officially started in May with the channel at ~0 subs. I got extremely lucky on my first video, which is still the best performing so far, currently sitting at ~530k views.
    • I initially did not bother with a channel design/logo/banner. I just took a random image of source code from Pixabay. Not sure if this was a mistake, but I've now actually invested in having a logo and banner created (I got very lucky to find a great artist on Fiverr). Will update the channel with it on my next video probably.
    • I've published 14 videos thus far. Every video performs very differently. The best few got over 100k views, some "only" a few thousand. I'm not complaining, this is way more than I ever hoped for in the first year.
  • Audio & Video Equipment
    • I started out creating the videos with a cheap 15€ no-name clip-on microphone from Amazon. This seems to be sufficient audio quality for making very popular videos, since my most watched video so far with ~530k views was made with it, and nobody has complained
    • I did upgrade to a slightly more expensive, ~25€ microphone (Behringer XM8500), mainly because it was more convenient to record with a Boom Arm for the microphone (the boom arm was about twice as expensive as the mic, but it was worth it). I don't think it's worth spending more money on the mic at this level. Content is king, don't get lost in researching equipment for hours and hours like I did initially
    • The videos just contain animations, I don't record my face (just not feeling that yet, maybe at some point). So I don't need a camera, but if I did, I'd just use my phone
  • Creation process
    • Creating these videos takes forever. I anticipated it to be time-consuming, but I did not see this coming. I need about 5-10 hours total time per minute of video content. My first video, which has about 4 minutes runtime, took about 30 hours to create and I feel like I haven't gotten that much faster yet.
    • Here's an outline of the process I've landed at to create these videos:
    • I think of an idea (I have a huge doc where I've written down over 100 ideas)
    • I create Title & Thumbnail first. Unfortunately, clickbait & click through rate (CTR) is everything. The videos with snappy titles/thumbnails perform 10x better than without. If I can't think of a good title/thumb for an idea, I won't make the video until I do.
    • For the Thumbnail I just use Canva (I pay for pro, which is worth it IMO). They have a huge amount of templates and graphics to use. I just picked a template and stuck with it. It's got huge text on it which seems to speak to developers (?)
    • I write an outline - just a bullet list of things I want to mention in the video. For the tutorial style videos I usually start by explaining the problem, then the solution
    • For each bullet in the outline, I write down a description of what I want to animate. I didn't do this initially, I just started animating, which is a bad idea, because it's so time consuming. The more time I spend on designing the animations in my head first, and really visualizing them, the less I need to iterate later on the animations.
    • After writing down the rough animation descriptions, I usually don't create them yet, but instead I start turning the outline I created into a precise script of what I want to say. Each part of the script is a bullet point, and I've got sub-bullets that describe the animations for that part of the video
    • Here's an example of the finished script for this video. In this one I described everything a bit more accurately than usual, since I tried outsourcing this process, which failed spectacularly (see below)
    • After finishing the first draft of the script, I create the animations & screen recordings. I initially used the Motion Canvas library to create the animations using TypeScript code (kinda like 3Blue1Brown's "manim", which uses Python). The library is fantastic and a fascinating piece of code, but after all I think it was a mistake to use it. My animations are just not complex enough to warrant using such a complex tool. And the power of a WYSIWYG editor can't be understated. I now use and pay for Camtasia to create all animations & screen recordings, and in the future will only use Motion Canvas for extremely complex animations.
    • One of the reasons I initially chose Motion Canvas was that I wanted to publish a git cheatsheet that includes the animations in the browser, and allows for interactivity with the DOM. But after spending a lot of time on getting this to work, I realized that Motion Canvas is just not mature enough for that (there are a few bugs/limitations preventing this to work well, see more below).
    • Something I did correctly though was not paying attention to coding conventions at all when creating these animations. I copied code everywhere, I accrued as much tech debt as necessary to just pump out the videos as quickly as possible. I literally have the same function/code blocks copied in like 5 different files, slightly adjusted in each file, each for a different video. I'd never do this in an actual software project, but I think here this was the correct choice, because I didn't really know what I needed initially, and would've built the wrong abstractions in the first place. The absence of structure is better than the wrong structure. If you'd like to see a code example, take a look here, it's the code for this video.
    • Another thing that surprised me is how difficult it can be to find the right memes/jokes that fit the video. It's super time consuming, and Google Image search really sucks. If you have advice for this would love to hear! I tried using AI to create some memes myself, but it's also extremely cumbersome to get exactly what you want out of the tools, maybe I just suck at prompting.
    • Once I've created the animations, I record the audio using Camtasia. I do it in this order, because I often need to make adjustments to the script as I create the animations (because I notice that things flow better or need to be explained a bit differently). I need about 1-5 takes per phrase, and I still have a lot to improve here (not a native English speaker and people have rightfully criticized my intonation)
    • Camtasia comes in a bundle with a software called Audiate. I highly recommend it - it transcribes the text in your audio and lets you cut out portions by just selecting text and deleting it. You can also auto-remove pauses and filler words. Saves a crazy amount of time
    • After recording the audio, I edit the animations and sync it with the audio, again using Camtasia. This part is the second most time consuming (after creating the animations)
    • I then send the video to a few friends to get feedback. Usually this takes a day or two, then I make additional edits if needed. Sometimes I need to re-record sections or re-create animations, because something wasn't clear from the explanation
    • Finally, I upload to YT and schedule it. I also schedule a LinkedIn post and an email to my email subscriber list. To do this, I set the video to unlisted first (otherwise thumbnail and title won't render well), and only then I set the video to private to schedule it on YT
    • I should probably do more cross-promotion, on Twitter, TikTok, Instagram, etc. but it's a time issue (see more below)
  • Outsourcing attempt
    • I tried outsourcing animations and editing, which failed spectacularly.
    • Here's what I did, and didn't work:
    • I wrote the full script and a detailed description of the animations and put it in a Google Doc, see here. For some of the scenes I even created very quick Canva slides to show what the final animation should look like
    • I also recorded & edited the audio, and created screen recordings. This is what the freelancers received.
    • I hired 2 different freelancers via PeoplePerHour at about 40€/h and each gave them different scenes to edit. I did this to try multiple people to reduce risk. Unfortunately, they both delivered absolutely unusable garbage. Beginner mistakes like missing/inconsistent animations, elements animating in twice or flickering, elements being completely misaligned, etc.. One of them, instead of nicely animating in a git commit graph, just copy-pasted a screenshot from my provided ugly Canva file and faded that in instead.... I ended up not using any of the content.
    • This was especially disappointing because I can see so many problems in my own video edits - I'm not a great editor or designer by any means (I mean I've edited maybe an hour of video content in my entire life, so of course I still suck), so I really was looking for someone who tells me what to do, not the other way around!
    • If I were to try this again (which I will at some point in the future), I think I need to rethink this entire outsourcing process
    • I would probably hire 5-10 people simultaneously to do the exact same paid trial project, for easy comparison of output quality. This is of course very expensive and time consuming but I think it'll pay off in the long run
    • I see two viable paths: a) hiring someone inexperienced and training them up b) finding an expert who really knows their craft and hiring them full time. I would really prefer b) because again, I don't really know what I'm doing and would love to learn from a pro, but I just can't afford that at this point
    • Would be happy for advice regarding finding good animators/editors/designers
  • Marketing & Cross Promotion
    • I did almost nothing to promote the first video, other than posting it to Hacker News. My initial post got flagged there (probably because of the clickbaity title) but then someone else posted it again, and this time it gained a few upvotes, but nothing earth-shattering. According to YT analytics this brought in around 700 views. All other views come from YouTube promoting the video.
    • I did not do any more promotion on any of the other videos (probably should, it's just due to time constraints)
  • Numbers & Revenue
    • I've brought in about 1.2k€ in adsense revenue since the beginning of the channel, which, compared to the hours I've put in is very little, but it's a great start! Wouldn't have expected any revenue this year at all to be honest
    • I've had a few companies contact me for sponsorships, but I feel the channel is still too small to be worth the hassle. I'd have to talk to a lawyer/get contracts ready, and I feel like I don't have enough reach yet to be able to negotiate good deals. Also, and this is most important: I don't want it to look like I'm only in this for the money. I genuinely care about helping people become better programmers, and I feel like immediately running sponsorships could make people feel like I'm just trying to make a quick buck. Also, I'd like to sell my own workshops and courses in the future instead of relying on sponsorships. I've been giving live programming courses for a few years now at a non-profit (that's my main job) and really love doing that.
  • Challenges
    • I initially wanted to create one video per week but for me that's just not possible with a full time job, I just don't have the time. At least not with this type of content. After two months of crunching I reduced the upload schedule to one video every two weeks. This was going ok but then my workload at my job increased and I got covid. Now I'm at about one video every month. I really wish I could do more, and this is actually causing me quite a bit of anxiety, since I don't know how much content is too little to keep my audience engaged and coming back. Most YouTubers recommend posting at least one video per week, but I just don't see how to do that with this type of content. Maybe I need to start a different series that allows me to create content more quickly, not sure.
    • The most difficult thing for me is deciding what do next. My time is extremely limited, so I have to be extremely picky with what I spend time on
    • This is both in macro decisions (should I prioritize creating videos or spend more time on marketing existing content instead?) as well as micro decisions (which video idea should I work on next?)
    • That last question (which video idea should I work on next?) seems especially important to me. My most watched video has literally 100x more views than my least watched, and I think this is obviously not because it's 100x better, but because the topic, title and thumbnail are just much more interesting. Selecting the right topic seems super important and right now I just do this by gut feeling. I'd love to learn more about how to do this systematically, and I've done a bit of research into keyword tools etc. but honestly the results have been disappointing. Would love some guidance/advice here.
    • One big learning has been not to promise things to my audience before they're done or at least close to done. I promised an interactive git cheatsheet a few months ago and quite a lot of people signed up for an email newsletter for this. Unfortunately it turned out to be so much more work than I anticipated. As described above, I wasted a lot of time trying to integrate Motion Canvas into the website, only to later realize that it's got too many limitations to work properly (mainly that it can't render screen recordings well, which I need, also various bugs in different browsers). So I gave up and decided to render the animations into mp4 videos and include a player component instead. However: I didn't consider the fact that creating the animations is the most time consuming part, so in terms of workload, this git cheatsheet is comparable creating 10-20 videos at once. I still think it's a really cool idea but I wish I had created an MVP first before promising this to viewers.
    • Unfortunately, clickbait works. This is sad because a lot of the clickbaity titles/thumbnails make for a very hostile tone in the comments. Here's an example: I made a video on using the barely known git worktree feature. This is one of my better performing videos, currently sitting at ~150k views. If I had chosen an honest title, something like "How to use git worktree", I'd have gotten maybe 1/10th of the views that I got. But I called the video "I was wrong about git stash" and made the thumbnail "Stop using git stash", which is of course silly, reality is more nuanced and I don't actually think you should stop using git stash, these two features are situational and in many cases git stash is still superior to worktrees. In any case, a lot of people get really mad, and even though I try to be more nuanced in the video, they either don't fully watch it or they're just triggered hard by the video title. I completely understand this and I'd prefer to just not do clickbait at all, but if the difference in audience reach is that extreme, I'm just not sure if that's the right trade off. Right now the rule I set for myself is that I have to pay off the clickbait in the video and if I can't justify why in certain situations I truly believe that you shouldn't use git stash, then I shouldn't use that title.
  • Conclusion
    • I'm extremely happy and feel extremely lucky to have come here this quickly. I'm also a bit terrified and anxious about making mistakes/messing this up. Trying to remind myself that it's more about the journey than the goal :)
    • If you have any questions or advice for me, I'd love to hear from you!

Top comments (0)