Content Creation is Hard

As we all know, creating original content is hard. It takes a lot of time and energy to create something that people would enjoy watching. Like many nowadays, I’ve always wanted to have my own successful YouTube channel. That’s why I initially tried to create my own “theme channel” focused on video games and livestream fails, which are popular niches with established audiences.

At first, I tried manually editing and uploading videos from other content creators that I liked and wanted to share through my channel. However, I quickly realized that the manual process wasn’t scalable or sustainable for consistent, high-volume uploads. Uploading videos daily is a significant challenge that requires substantial time and effort. To overcome this hurdle and maintain a competitive upload schedule, I decided to explore automation as a solution.

Automating a YouTube Channel

I wanted to continue with the channel I already had running, so I broke down the automation process into 4 main steps:

  1. Find relevant, trending content that fits the theme and audience of the channel
  2. Filter and curate high-quality, engaging content
  3. Edit and compile the content into an appealing video format
  4. Optimize and upload the final video content

Breaking it down into clear, actionable steps would allow me to streamline the automation while maintaining quality control over the content pipeline.

Finding Relevant Content

As my niche was video games and livestream fails, I needed to find a high-volume source of trending, relevant content to fuel daily uploads. The obvious choice was Twitch, the leading live streaming platform with thousands of gaming creators uploading new content every minute. This presented an opportunity to curate the best clips and highlights that resonated with my target audience.

However, simply scraping all Twitch content indiscriminately would likely result in low-quality, irrelevant videos that fail to engage viewers. To build a successful channel, I needed to carefully identify and monitor popular gaming categories, top streamers, and viral trends that aligned with my channel’s theme and branding.

Filtering High-Quality Content

Filtering and curating truly high-quality content was undoubtedly the most challenging aspect of the automation process. I had to strike a balance between content quality and the time investment required for manual review. Watching and evaluating hours upon hours of raw Twitch footage to determine which segments were worthy of uploading was simply too labor-intensive and impractical for this project’s scope.To maintain a high standard of quality while enabling efficient automation, I needed robust filtering mechanisms based on quantitative and qualitative signals of viewer engagement and content performance. Some potential signals to leverage could include:

  • View counts and watch time metrics
  • Like/dislike ratios and audience sentiment
  • Comments, shares, and other engagement metrics
  • Streamer popularity, follower counts, and community size

To leverage the collective intelligence of the streaming community, I decided to focus on “clips” – user-generated short video highlights ranging from 15 to 60 seconds that capture interesting or entertaining moments from live streams in real-time.

Given the sheer volume of clips created daily, I curated a whitelist of top streamers and gaming categories that aligned with my channel’s theme. Then, I implemented a ranking system where clips would essentially “compete” against each other based on their short-term view counts and engagement metrics. The top-performing clips across my whitelisted sources would be selected for uploading. While not a perfect system, this approach allowed me to automate content curation at scale while maintaining a degree of viewer-driven quality control.

To further incorporate viewer preferences into the curation process, I developed a dedicated website using Next.js and hosted on Vercel. This platform allowed users to browse, filter, and upvote their favorite clips, providing an additional signal for identifying the most engaging content. However, due to limited promotion and a lack of critical user mass, there wasn’t sufficient data to fully leverage this crowdsourced approach. You can still check out the website at clips.fail, but it ultimately played a minor role in the overall curation process.

Editing the Content

For the editing and compilation process, I explored two potential solutions. The first and simplest approach was to upload the individual clips as separate videos, publishing 3-5 videos per day. While straightforward to implement, this method resulted in a fragmented viewing experience that I wasn’t fully satisfied with.

To create a more cohesive, binge-worthy experience for viewers, I needed to package the curated clips into longer compilation videos. This would not only make for more engaging content but also align better with YouTube’s watch time optimization signals for increased discoverability.

The second solution I explored was Remotion, a powerful React-based library for programmatically generating videos. I developed a custom template that would stitch together the curated clips into cohesive compilation videos. While this approach worked well from a quality standpoint, the rendering process was extremely slow and resource-intensive, making it impractical for frequent, automated uploads.

Moving forward, I plan to revisit and optimize the Remotion-based solution. By leveraging more efficient rendering techniques, parallel processing, and potentially cloud infrastructure, I could unlock the ability to generate high-quality compilation videos at scale. This would not only improve the viewer experience but also better position the channel for increased watch time and discoverability.

Uploading the Content

This was the easiest part of the process. I decided to go with the low-code solution and use Pipedream to upload the videos to YouTube. They offer a generous free tier that was more than enough for this project. I created a workflow that is triggered by a server that provides the information that must be uploaded to YouTube, as you can see in this image:

Pipedream Workflow

  1. Receive the information from the server through a webhook POST request
  2. Check if in the body there is the authentication token; if not, it will return an error
  3. Perform text processing using Node.js to format the title, description, and tags for optimal YouTube SEO
  4. Upload the video to YouTube, leveraging the YouTube Data API for seamless integration
  5. Store the uploaded video ID in a database to prevent duplicate uploads
  6. Return a success status code to the server, confirming the upload process

As the content featured in the videos is not originally mine, I make a conscious effort to properly credit the original creators in both the video description and title. This not only adheres to ethical content practices but also helps drive interested viewers back to the source streamers, fostering a mutually beneficial ecosystem.

How is the Channel Doing?

If you want to check out the channel, you can do so here. The channel has been running since January 2023 and has recently gained more traction, adding over 190000 views and 200 subscribers. Here are some stats of the channel:

Clips Fail Analytics

It’s only recently started to gain more traction now after a year of running, thanks to the YouTube algorithm and some videos that have been recommended to a broader audience.

Top Performing Videos

For some reason, the videos instead of gaining traction in the Spanish-speaking gaming community, the channel has gained traction among coomers, which is something that I wasn’t expecting and I’m not too happy about.

Future Improvements

  • Revisit and optimize the editing process to enable high-quality, binge-worthy compilation videos at scale
  • Continuously refine and update the streamers whitelist based on in-depth audience research and performance data
  • Implement advanced machine learning models to better predict clip performance and viewer engagement signals
  • Establish a content pruning strategy to remove underperforming videos after a defined period, maintaining a lean, high-quality library
  • Build a passionate community around the channel through interactive features, events, and co-creation initiatives

Conclusions

This automation project has demonstrated that even seemingly daunting challenges can be tackled by breaking them down into manageable components and iterating on solutions. While the current implementation may not be perfect, it serves as a solid foundation for continuous improvement and growth.

Consistency is undoubtedly crucial for content creation and building an audience. However, consistent uploads alone are not enough – the content must also deliver value, quality, and relevance to truly resonate with viewers and foster long-term engagement.

Moving forward, the key will be to strike a balance between scalable automation and a data-driven, audience-centric approach to content strategy.


I hope you enjoyed this post and that it inspires you to automate a process that you thought was hard to automate. If you have any questions or suggestions, feel free to reach out to me on Instagram.