Juji Blog

Creating a Blog

#algolia#blog#contentful#nextJs

In this post, I will tell you about how i created my blog. I created a NextJs blog, using Contentful as CMS, powered by Algolia search engine and Github comments: It is how this blog was made.

First Thing

Oh no.. I'm a programmer without a blog! How can this be happening? Well, it happens. Sometimes, I played a lot.

In the case of writing blog posts, there's Medium, in which many people are doing. But, as a developer, I like the adventure of creating things. So I thought: I should make one myself.

The second option is to use multiple free host for the whole stack. Which I tried using NextJs as the frontend, Ghost for CMS, and Aiven for storing the contents in MySQL. This worked well.. But do I really want to manage them all? Sometime in the future, I need to think about how my SQL database is full and I will need to pay for storage. Should I worry about that? Maybe not..

Anyway, I wanted to search for other solutions, just because. So.. searching for solutions, I found Contentful and Sanity to be the most promising. Contentful and Sanity are hosted CMS solutions, So I don't have to worry about managing my own CMS and DB. That's good.. Less things to worry about.

Contentful has generous limits compared to Sanity. So I went with Contentful. I will probably migrate to Ghost and MySQL in the future. I don't really care about that. Using a hosted CMS Is something new to me, and that's a good enough reason for me to jump on the bandwagon. It's a personal blog anyway.

Search

I thought to myself, I will need a search engine for this. Should i just use google, and be done with it? Nah.. I'm gonna search for other things so i can have reasons to play with stuff..

My Options was Meilisearch, Typesense, Pinecone and Algolia. With Meilisearch and Typesense, I will have to host my own, or pay for a hosted solution. Both of them will incur cost from the start. So that's a no go.

Pinecone and Algolia offer free solution. That's what i was aiming for. Algolia offers more in their free tier. Also, i found a nifty point-and-click solution to connect Contentful to Algolia. So i don't have to write the code to connect them... yay!! So, Algolia it is.

Commenting System

A blog needs a commenting system. No it doesn't. I just need to write something so i can be reminded of the things i learned.

But come on, it won't hurt...

So what are my options? Searching for "blog commenting system" on google, i found nothing i want to use. I remembered Discuss. Checked out their free limit, and found that they have ads. hmmm.. Nah.

What other solutions exists..?

I kinda like the fact that people are using GitHub to host their comments.. I think that's neat. The drawback is, people need to have a github account to comment. I think that's okay.

So i searched for a solution and found two: utterances and giscus. Utterances uses github issues, and giscuss uses github dicussion. I found giscuss is more appropriate, because people can reply to comments.

Final Stack

So, this is my final stack: NextJs as Frontend, Contentful as CMS, Algolia for search, and GitHub to host the comments:

ncat

It's the NCAT stack. Meow..