Ongoing solo side project since Dec. 2014
Ah, my personal website. There is no side project I've spent more time on. For years I've used my personal site as my playground where I can experiment with new technologies and design. It's the first website I ever made from scratch and this version you see is the fourth total rewrite. My website has always been more or less a resume with some interesting pages about personal data I collected and displayed (travel, books read, etc.). I've experimented with blogs, but I never commit enough time to them and they sit fallow. So in this iteration, I've decided to go minimal--a Jekyll static site that displays my projects and ways to contact me.
My website has taken on every flavor of technology over the years--static, full-stack, single-page application, and everything in between. After progressively making my site more and more complex over the years, I decided to tak a step back and simplify. What job did I want my site to do for me? When I sat down to answer this question, I found that I cared about showing off some of my work, connecting with like-minded people, and having a place to post my thoughts. I wanted the site to be both fast to develop and fast to load, so I went full static and used Jekyll to make this site.
I've gotten so accustomed to having a back-end server that it was frustrating at times when I wanted to add a feature and figured out it wasn't possible to do within the Jekyll framework. I think the pros far outweigh the cons, though, for my needs. This site uses VueJS for a handful of micro-services that improve the experience for users that land here and make the site perceived to be even faster than it is (which is pretty fast as a static site on AWS Amplify).
Overall, I think the simplicity of Jekyll fits the needs of this site, but there are times when I have fun ideas for additions and I'm limited by the technology. I think the pros outweigh the cons and that this is a good setup for my personal site, but in the future I might add a subdomain where I can host demos of projects/ideas that require a backend server and database.