Website changes – Notion as a CMS?

Saurish Srivastava / June 06, 2021

5 minutes

I finished my sophomore year of high school last Thursday (06/03/21). Since then, I've had a sudden urge to update my portfolio (if you want to check out my old portfolio, check it out here: I wanted to create a pretty minimal site that displays some information about myself in a 'clean' and 'elegant' way — as Stackoverflow would say: "Apparently, this user prefers to keep an air of mystery about them." As such, I've designed the website to be very minimal and I think I've done a pretty decent job.

The Redesign

When I embarked on this redesigning journey, I had a challenge for myself. I wanted to learn Figma in the process of designing so that I could use it in the future. I had used apps similar to Figma, but never actually delved into the app itself. It took a lot of tutorials to finally understand what I was doing, but I was proud with what I had created.

I then ported over a lot of the designs that I had created in Figma into Next.js with TailwindCSS and categorized each section into different components. I think this helps with readability and as far as I'm aware, follows some of the best practices.

One of my goals for this new redesign was to implement a Notion blog with their recently released public API. After watching Lee Robinson's livestream on Notion's API and finding this notion blog on GitHub by Samuel Kraft, I think I was well-prepared to start the task. One of the weirdest things with the Notion API is that it formats the blocks into arrays of rich text objects. I've never worked with these before and it was definitely a struggle to figure out how. The rest of the API is pretty self-explanatory and their examples are pretty helpful. If you are interested in a technical understanding of how the Notion API works and how you can use it as a CMS (content management system), Samuel Kraft actually wrote an amazing blog post about it – do check it out!

The Caveats

However, the question still remains: Is Notion ready to be used as a CMS? My answer is no. In my opinion, one of the biggest reasons is because this API is in its beta mode and is not 100% ready to be useful as a CMS.

The Notion API only supports the following blocks:

Heading 1

Heading 2

Heading 3

This is a paragraph block with bold text, strikethrough text, underline text, code text, italicized text and text in a different color.

  • bulleted list 1
  • bulleted list 2
  • bulleted list 3
  • numbered list 1
  • numbered list 2
  • numbered list 3
  • Toggles!


    There are two important things missing here: images & large code blocks. I think that these blocks should be supported (though I'm genuinely curious how they will be passed into a rich object array). They're crucial for most blog posts and webpages in general.


    I don't think that Notion is ready to be used as a CMS through their API yet. However, there are services like & that have taken their own routes towards providing simplicity in designing/creating websites. Although these approaches – as far as I'm aware – lack official support, they are pretty cool and trendy!

    I'm super hopeful for the future of Notion and the usage of Notion as a CMS!