Alex Yuan

Alex Yuan's Blog

Read my Blog

🌐 Jamstacking My Website, A Minimalism Experiment

Getting rid of monolithic Django and swapping it for Jamstack

August 10th, 2020

For my most recent site redesign I decided to get rid of the monolithic Django + Wagtail CMS + PostgreSQL + S3 + CloudFront nightmare and swapped it out for a refreshingly simple Jamstack oriented Next.js static build.

Version 1

Version 1

Version 2

Version 2

Version 3

Version 3

I have already gone through two iterations of my site design and this new one is the third. I was not happy with the second version at all and it looked like something that had just ascended from Dante's inferno. It had clutter everywhere and the ORM schema design was just terrible.

For version 3, I ditched the database model and went with a clean Jamstack and Markdown powered blog. Jamstack architectures allow for a very minimalist setup; you won't be banging your head trying to fix database connections, 500 errors, and trying to guess which one out of the twenty or so environment variables is broken.

Previously, I had to set up a Django, Wagtail CMS, and PostgreSQL clusterfuck on Heroku with an AWS S3 bucket behind a CloudFront instance which was also behind a Cloudflare CDN.

Heroku itself cost me $7 a month and added a bunch of unnecessary complexity for a site that was extremely simplistic in functionality. This new Jamstack build costs $0 as both Netlify and Cloudflare offer very compassionate free tiers; no credit card required which is blessed for someone who cannot legally obtain one.

With the Jamstack, you can configure every single push to a GitHub repository to be built with Netlify and served with Cloudflare. Combining it with a headless CMS like Netlify CMS gives you a WordPress level platform with no PHP witchcraft.

Think of Jamstack as the electric car of web development. Traditional gas cars need things like oil changes, fuel filters, spark plugs, emission checks, and a noisy polluting engine. Jamstack throws all of those components out of the window and replaces them with a battery (GitHub) and a motor (Netlify).

Give the Jamstack a go, you might enjoy it.

About the author

👋 Howdy there, I'm Alex.

I'm 17 years old and I work as a software engineer at Bridgespace. I recently graduated high school and I'm studying at the University of Waterloo.

I'm interested in full-stack web development, machine learning, computer vision, politics, and philosophy. Take a look at my GitHub if you want an idea of what I work on. Also checkout my blog.

If you need to reach me, email me at [email protected]. You can also take a look at my LinkedIn.