My wife and I have always wanted to work on an online project together. She is creative, and I can figure out technology. A multitude of reasons pushed us to start a blog in early 2021.
- My hunger for a software-dev-related side project
- A desire to digitize our growing three-ring recipe binder
- Repeated requests for the same recipes (mostly Thai Red Curry and Butter Chicken) from friends and family
It was easy to devise requirements as we thought through different features (blog setup, adding posts and pictures, monetization, etc.).
- Intuitive and easy CRUD-ing of recipes
- Low reliance on third-party plugins
- A fast, secure, and dependable web framework
- Rapid automated deployments
- Intuitive and quick initial set up
- Decently-sized, engaged developer community
I did some research and considered the pros and cons of using different blogging stacks with my wife. These are just some many good choices out there, and there are fantastic blogs using each one of them. We ended up choosing the most fun and appropriate solution for us.
Content management systems have been dominant players in the web dev space for a long time. Between taking Jenn Kramer’s CMS courses and troubleshooting a WordPress site for my dad’s work, I am comfortable with the technology. Reliance on closed-source third-party plugins, use of PHP, security vulnerabilities and website size turned me off from this option.
I have been enamored with all things Django for a few years. I follow the maintainers on Twitter, listen to the official podcast and watch conference talks on YouTube. I could have developed and managed a blog using it, but I felt like the learning curve would drive my wife away. At the time, we just wanted to throw some images and text on a page for people to see.
SaaS (Wix, Squarespace)
I usually recommend these solutions to friends that want a website but do not want to develop with code. These would be costlier and wouldn’t scratch my development itch.
This newer paradigm is getting popular for producing simple, fast and secure static sites. The downside is not being able to add features like authentication, comments, search, etc.
Few solutions are perfect, but we felt that this stack checked most of our boxes. Since we plan to post recipes with images, markdown will be a good solution. My wife seems to enjoy the syntax more than working in plain HTML. Hooking our GitHub repository into Netlify’s continuous integration/continuous deployment system meant that after my wife adds a new recipe on GitHub, the recipe would be deployed to the website in seconds without any extra intervention.