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:
It's the NCAT stack. Meow..