Published in April 2021
I've previously tried Notion for note taking and other use cases but it never really clicked for me. However I tried making this static site with Notion and I think it's amazing.
Developers often delay making their personal site because they're always trying to overengineer the solution. Should you use next.js or some other new framework? What about just using a static site generator and storing your posts in markdown? There are numerous ways of going about creating a static site, but I've found Notion to be the best solution so far.
It's hard to summarize Notion because it works in such an extensible way, fitting all kinds of workflows. I'll try to summarize a few things I learned from this experience.
Lego Like Components
Notion has a set of lego-like components that can be combined to display data in complex ways. You get tables, galleries, calendars, boards, timelines, etc. You can also embed external widgets like tweets, maps, Figma designs, and more.
Using these components you can create highly customized layouts and display data however it suits your needs.
You can easily reuse components, drag them around etc and you get a playful feeling when creating documents with Notion.
Beautiful Design but lacks customizability
By default, Notion pages look very beautiful.
If your are not a designer and don't want to spend time trying to make your pages look nice, then Notion is the solution for you.
While the default design of Notion is a huge plus it also has its downsides. You can't customize the look and feel of components beyond a certain degree and you're going to be stuck with whatever Notion gives you. While this is a great baseline to work off of, more customizability would be nice.
Because of the lack of customizability, all Notion pages are going to end up looking similar and it would be harder for your Notion site to stand out amongst others.
Notion could have a feature where you can directly edit the code of various components and customize it how you see fit.
Notion doesn't offer custom domain hosting and this is a huge downside.
I ended up just using this open-source library called loconotion to download Notion pages and host it as a static site on AWS.
Large number of use cases
One of the more exciting discoveries while using Notion to host my personal site was undert