Published on

Learnings from building Awesome React and Awesome Next.js

Authors

After yesterdays post announcing Awesome React's relaunch, let's look into the five things I got right when initially building it and it's sister site Awesome Next.js and what I try to improve this time.

Things I got right

1. I built it for myself

I was learning React and watched tons of YouTube videos about it and wanted to collect these somehow. I "scratched my own itch". So I knew exactly what I wanted to build and why.

And I also built it as a playground to deepen my experience with React. For the first version that was setting up Webpack, server side rendering and GraphQL. Later I rewrote it with Next.js and styled components.

2. Simple database

I started with a quick and simple solution. Each entity (e.g. video, playlist) was just a JSON file. And I had a couple scripts to fetch the information from YouTube about a video or playlist and add it to the JSON file. This allowed me to easily edit the content and it was performant whitout any caching or prerendering.

3. SEO

It wasn't a single page application (SPA) like many at the time, but had server side rendering included from the beginning, even before Next.js. This allowed the content to be easily indexed by search engines.

Every video and playlist has it's own detail page embedding the video player and most importantly the description. As I added 1500+ videos to Awesome React in 2017/2018, this allowed it to be indexed for many different search terms and is the reason it still gets over 2k+ visitors per month to this day, despite not being updated in years.

4. Posting added videos on Twitter

I created a seperate twitter handle and when I added new videos I often also wrote a tweet with a short description and tagging the creator/speaker. Sometimes, the creator would retweet it and if he had a following it got a lot of impressions. This was a great way to get new visitors to the site.

5. Writing a weekly newsletter

For Awesome React I only wrote a couple newsletters, but later when I launched Awesome Next.js I wrote 18 weekly newsletters, before stopping. I also cross promoted these to Twitter.

Things I want to do better this time

1. Not choose a too small niche

You read a lot to choose a very specific niche. I think React was a great choice. Highly specific, but still lot's of different topics and content. When I launched Awesome Next.js I think I niched down too far, as there was not enough awesome new content every week, especially video tutorials.

So that's the reason I'm relaunching Aweomse React and not Awesome Next.js.

2. Use a Headless CMS to manage the content and quickly bootstrap the API

The JSON files were simple and performant, but were less ideal as the content grew. For Awesome Next.js I used a MongoDB database and a custom admin interface to manage the content. While that had its merits, it was a lot of work to build and maintain.

I think a Headless CMS like Strapi, which I've used for a few websites, will be a great option as it allows to quickly create content types, has a powerful REST and even GraphQL API built in and a nice admin interface to edit the conent.

3. Automate more

I automated a few things, especially for Awesome Next.js like checking for new content from already added creators or brands. But there's lot's of room for improvement. It will be important to make it as easy as possible to add new content, while still maintaing a high quality.

4. Double down on SEO

SEO will be a key factor to getting users. I think there are many possibilities to index categories better. Like e.g. adding pages for different combinations of categories like /learn-react-mongodb-tailwind or similar. Pieter Levels does a great job with this on Nomad List by combining filters to a phrase people would search for. Also really intrigued by the Lean SEO approach by Pat Walls. I'll try to implement some of these ideas.

5. Be consistent and find a way to monetize it

The key to makeing this work is consistently working on it. Adding new content, promoting it on Twitter, writing a newsletter and improving the user experience takes consistent effort which is only possible if I'm able to monetize it. I dabbled with a few affiliate links, but I'm confident that there will be possibilities for sponsorships if I can increase the traffic.

Follow along as I'm building awesomereact.com in public.