How I Built And Monetized A Website Side Project Ranking TV Shows

Published: September 10th, 2019
Steve Sanders
Founder, Episode Ninja
Episode Ninja
from Lisle, IL, USA
started January 2017
Discover what tools Steve recommends to grow your business!
Discover what books Steve recommends to grow your business!
Want more updates on Episode Ninja? Check out these stories:

Hello! Who are you and what business did you start?

Hello, my name is Steve Sanders and I’m the creator of a website called Episode Ninja. The primary goal of the site is to rank the “best” episodes of a given TV show.

In my day job, I work as a web and app developer at a company in the smart home space. Episode Ninja is still firmly a side project for me, currently making around $1000 a month in revenue. It is monetized through display advertising and TV streaming affiliate programs.

Traffic to the website has been steadily growing since launch and is currently at more than 200,000 unique visitors per month.


What's your backstory and how did you come up with the idea?

With the rise of binge-watching TV shows through streaming services, I found myself wanting to go back and watch some of the best episodes of my favorite shows.

The website has been steadily growing since launch and is currently at more than 200,000 unique visitors per month.

I couldn’t find a good place to find these rankings online other than random articles written by folks across different websites. It seemed like there should be an objective way to aggregate ratings and rank episodes of a show; thus Episode Ninja was born.

I had the idea for Episode Ninja fairly early in my career as a developer. At the time, my focus mostly revolved around front-end design and development using HTML and CSS without much heavy technical lifting.

Although I did study Computer Science in college for a few semesters before dropping out, my technical skills are primarily self-taught. It took a few years (and job changes) before I had real full-stack development skills required to actually build a prototype of the site.

Take us through the process of designing, prototyping, and manufacturing your first product.

The initial goal of the site was to build a list of the “best” episodes of a given TV show.

This requires pulling in some important pieces of data for each show, including:

  • Basic information about the show (title and description)
  • Media for the show (banner and wallpaper images)
  • Basic information about every episode of the show (title, description, air date, etc.)
  • Media for every episode of the show (still images)
  • Score or user ratings for every episode of the show

Luckily for me, in the television niche there happens to be an abundance of open APIs providing this sort of data. I chose to use a combination of TheTVDB, Trakt, and The Movie Database.

To get a full snapshot of a show, it often requires at least one API request per episode of the show that has aired, which is often in the hundreds. Doing this on-demand when a user views the site would both be extremely slow as well as unnecessarily taxing on the servers running these open APIs. I decided to build a script to make all of these requests and save them in a database to overcome this issue.

I initially seeded the site with content by setting up the script to import data for roughly 2000 relatively popular shows. Now that I had the data, I built out a simple REST API to pull the top 25 episodes of a given show out of my database.

From there, I was able to build out a web front-end that communicated with the API in a user-friendly format. I had initially planned on building out the project as a mobile app, but I’m happy that I decided to do it as a website instead.

An early prototype of the Episode Ninja front-end

Describe the process of launching the business.

I launched the website in early 2017 without a strong plan for marketing, but I knew that the easiest route for getting traffic would probably be through SEO. Search engines typically take a while to start sending traffic to new sites, so I quietly launched the site and mostly left it alone for several months. I didn’t have any idea how to monetize the site at that point. After working at several software companies that would fail to attract many users to the software I was building, I would have been content if anyone actually used the site at all!

While I was waiting for search engines to get around to indexing the site I also wanted to get some initial eyes on it to validate the idea. Reddit has huge communities for pretty much every TV show imaginable so that seemed like a good place to start. I chose to submit the relevant pages on Episode Ninja to a couple of show subreddits representing shows that I was very familiar with and felt good about the episode rankings.

Just start building! Get an MVP (or even a simple landing page) out there as quickly as possible so that you can validate your idea before investing too much time

I didn’t want to appear spammy, so in the post titles, I was very up-front and honest in representing the link as a site I had built. Overall the submissions had a great response and helped me validate that I was on the right track.


Since launch, what has worked to attract and retain customers?

It took a solid nine months after launch before organic search traffic to the site began picking up. To this day, search still accounts for 90+ percent of Episode Ninja’s traffic.

Since SEO seemed to be working well, I focused most of my development efforts on both improving SEO performance as well as keeping visitors on the site.


When the site first launched, it pretty much had one feature - the “best” episodes of the show. I have been slowly adding new related features, such as:

  • Worst episodes
  • Best seasons
  • Best episodes directed by a particular person across all shows
  • Linking to similar shows from a particular show’s pages

I also wanted to allow users to actually vote on episodes from the Episode Ninja website rather than solely relying on episode ratings pulled in from external sources. This would both serve to keep users on the site longer but also improve the rankings for other users. I launched this feature about 4 months ago and Episode Ninja users have already cast more than 25,000 individual episode ratings.

Since the site relies on data from external sources, it is important to keep this information up to date as it changes. For example, many shows are constantly airing new episodes that could be added to the rankings. In March 2018 I fully automated these content updates on the site. Each existing show is automatically updated with fresh data roughly once a month. I also automatically pull in new shows based on popularity, allowing the site to grow somewhat organically.

How are you doing today and what does the future look like?

I am always looking for ways to leverage the traffic from the Episode Ninja website to promote other related products. About three months ago, a couple of friends and I were discussing TV shows over drinks and had the idea that our discussions would fit neatly into the format of a podcast. We launched The Episode Ninja Podcast in July! We discuss a different show every week and try to work in the rankings from the Episode Ninja website where it makes sense.

I’m also constantly experimenting with different ways to monetize the site. Affiliate marketing has proven to be both a solid source of revenue as well as a useful value-add for website visitors. The first affiliate program that I joined was Amazon. Users can click through an episode in the rankings directly to purchase the episode on Amazon if it’s available. I get a small percentage of that purchase, or a “bounty” if they subscribe to Amazon Prime. I’ve also slowly added several other similar affiliate programs from iTunes, Hulu, Vudu, and CBS All Access.

Another new revenue source that I’ve been experimenting with is display advertising. I started off a few months ago with Google AdSense but quickly switch over to a managed ad network called Monumetric. Introducing ads to the site has significantly increased revenue without much effort from me.


Through starting the business, have you learned anything particularly helpful or advantageous?

When developers begin working on side projects, they often spend weeks or even months painstakingly deciding which tech stack to use on the project. I always highly recommend just going with the stack you’re already familiar with so that you can get an MVP up as quickly as possible. From there, you can iterate more quickly and eventually refactor to a more appropriate stack if necessary.

While the tech stack I chose for the site helped speed up my development time initially, I have definitely been paying the price recently. Choosing a NoSQL database made importing unstructured data from various third parties extremely easy in the beginning. Now that I’m trying to add more features to the site that rely on complex data relationships, I really wish that I had chosen a more traditional SQL database.

Similarly, I built out what could’ve been a fairly simple and static website using a complicated front-end JavaScript framework. This choice has made it much more difficult to experiment with different monetization options. Many advertising networks use pretty old school techniques for embedding ads into websites that do not play nicely with modern JavaScript build tools and processes. I am constantly on the verge of totally breaking down and rewriting the site from the ground up but have a hard time justifying it as it seems to be performing pretty well.

What platform/tools do you use for your business?

I have always taken a very frugal approach when it comes to paying for tools to support the business. The website was originally hosted on Digital Ocean using a couple of cheap $5/month droplets. In June 2018 I was lucky enough to be accepted into the AWS Activate Builders program, which has since been closed. This gave me $1000 in credits with Amazon Web Services, so I quickly moved everything over to AWS. My hosting costs for the last year have been zero!

The other tools that I use mostly revolve around reporting. I look at Google Analytics and Google Search Console regularly to check on search performance and look for opportunities for improvement. I also check the reporting dashboards for various advertising and affiliate platforms that I use to monetize the site.

What have been the most influential books, podcasts, or other resources?

The Indie Hackers forums and podcasts are a constant source of inspiration for me. It is always encouraging to see the full spectrum of entrepreneurs, ranging from folks just starting out to the wildly successful.

I’m also a huge fan of a small Reddit community called r/JustStart. It mostly focuses on folks running websites monetized through affiliate marketing. These community members regularly share their knowledge by posting monthly case studies about their sites and the approaches they are taking to grow them. The overall message of the community is to JUST START! Just start writing, coding, or doing whatever you can to get your idea out there.

Advice for other entrepreneurs who want to get started or are just starting out?

Just start building! Even if you don’t know how to code, there are plenty of great no-code tools out there now that you can use to prototype your ideas. Get an MVP (or even a simple landing page) out there as quickly as possible so that you can validate your idea before investing too much time.

I would also recommend that you have a plan for marketing your project. If you’re not good at viral marketing or outreach (like me), focus on a low-touch approach like SEO. If you have a huge following through social media, leverage that network in any way you can.

Are you looking to hire for certain positions right now?

I’m looking for an expert in social media marketing and outreach that could both help grow Episode Ninja’s social media presence as well as get in touch with relevant TV show facebook pages, twitter accounts, etc. for promotional opportunities. I am happy to pay the right person accordingly!

Where can we go to learn more?

If you have any questions or comments, drop a comment below!