Notion is more than just a note-taking app. It’s an amazing CMS that allows you to create awesome websites and blog content.

No need to struggle with a clunky backend like WordPress. Instead, use Notion’s innovative block-based editor to craft your content.

Trust me, it’s worth it!

This is possible as the long-awaited API for Notion was recently released. The time has come!

  • The API has response times of less than 100ms.
  • Single endpoint to get all the data you ever need from a single API call.

Similar to how people use Netlify CMS with Jekyll, you can use Notion as a headless CMS.

But in this case, although Notion has a frontend, we’re not going to use it (as it’s not optimized for pagespeed).

Instead, we’re going to use their API and have our own frontend.

Here are some recommendations on stack to use (if you’re a developer):

💻 For the frontend, people recommend using Next.js. It’s a React framework that makes it really easy to build. Some people also use Remix.js.

If you’re not a developer (like me) or even if you’re, you can make use of services like:

Super.so

  • It’s the service I’m personally using. You just need to make a Notion page public (that holds your website), and link it with your Super.so site. Their service pulls data via Notion’s API and creates static site out of it.
  • Some features I really liked are community themes, theme builder, support for different views, a wide range of block support, formula support, live sitemaps, code editors, automatic SSL, and also SEO features. It’s the most feature-rich and comprehensive solution I’ve come across.
  • They have support for static websites. The loading times are lightning fast – 99/100.

Feather.so

  • Their onboarding process is one of the best I’ve experienced in this space. Super.so’s was rather complex to wrap my heads around. For a no-frills solution to host your company docs, Feather is just fine!
  • It comes with blog-specific features like blogs, pages, authors, RSS feed, schema markup, etc.
  • They sync the desired webpage slug directly from “Slug” property of the Notion-pages (in Super.so this isn’t the case, you need to prettify the slug in their dashboard).
  • Unlike Super.so, it only supports posts and pages as databases for the main content (similar to default WordPress). You can’t link your own custom Notion databases/collections and have a subdirectory for them as you do with Webflow.
  • It lacks custom CSS feature vs. Super.so which comes with global and also page-level custom CSS options.
  • They are making use of CloudFlare Pro. Although the performance is fairly comparable to a well-optimized WordPress site, it’s not the best. Your website content will not be still edge-deployed.

With any of these Notion-based services, there are some tradeoffs you’ll be making:

For now, I went all in with Super.so. It’s mainly due to their Static Websites support, complete CMS experience, impressive changelog, and a team of people behind the product.

💡 There are many Notion-based website building solutions coming up in the market that may circumvent the downsides. You need to keep an eye on ProductHunt. One product I’m keeping an eye on is Typedream. It’s a Y-Combinator backed startup. They have rolled out a way to import Notion blocks to Typedream’s native blocks. But, it’s unidirectional syncing. I’m still not convinced to ditch Notion and move to Typedream for CMS needs. It’s too early. They have their Slack support channel (decide for yourself).