June 07, 2020 • 4 min read
As I mentioned in my previous post, What is this blog?????, this site is a total redesign of the previous version. I decided to rebuild the website with brand new technologies, add a theme, and introduce new features like this blog.
As a reference, here is the previous landing page
Here are the features I set out to implement for the MVP.
The MVP took ~42 hours.
The total time also includes learning new technologies and libraries I had to use.
When I first built this site, I used the Django framework as I was pretty familiar with it. Django allowed me to quickly setup a database for my backend which I used to manage course work posts. Django also comes with a template engine which creates the HTML for your site from templates. As a result, I had a full stack solution in my hands to get the site going🙂.
Django is an awesome framework, but it was the wrong choice of technology for my website at the time. Here are the mistakes and issues I faced:
When I decided to rebuild this site, I made sure to learn from my mistakes. The issues I had before are no longer a problem because I took the time to research and learn about technologies that fit well with what I wanted to do.
The main feature I wanted this time was a blog. After doing some research I learned about Static Site Generators. I was initially going to use Jekyll because it was easy to learn and can help put a blog up really fast. I decided against it when I found Gatsby, also a static site generator. I went with Gatsby mainly because I can use React components for building the UI instead of HTML templates. Furthermore, Gatsby has a lot of useful plugins and starter sites which made it really easy to get started with.
Here's a list of core technologies in the new stack.
Here are some benefits of using the new tech stack.
Progressive Web App (PWA)
Cheap, \$12/year
I'm very happy with the way the site turned out as it looks more professional, and has been a lot easier to deploy changes and add new features.
There are many other technologies and libraries I used to put this site together. If you are curious to checkout the source code, you can view the repository on my Github. Feel free to fork the repository into your account if you want to build something similar. I only ask you add a link in your README back to this site.
If you enjoyed reading this or found the content useful, give it a share and sign up for the newsletter below ⬇️ to stay up to date on new content!