New Year, New Blog
Creating a better website for myself, using better tools.
Posted on January 5, 2024.
After years of benign neglect, I have decided to breathe new life into my website.
For a pretty long stretch of time, my personal corner of the web was happily housed under the Jekyll framework. Since 2016, it's been my main go-to for musings, ramblings, ideas and projects.
Yet, as the broader landscape of tech marched forward at an accelerated page, Jekyll remained the same. This constancy, while initially very comforting, began to feel like a constraint against the increasingly complex demands I had for my website. Its limitations had grown into significant obstacles:
- The static nature of Jekyll felt increasingly anachronistic as the web evolved towards interactivity;
- Its age, while a testatment to Ruby's elegance, made maintenance a chore, its charm quickly wearing off during troubleshooting;
- Build times expanded, turning into longer and longer waits;
There was a time when tinkering with my website was a real joy, a digital counterpart to the tinkering I do with my physical projects. Yet, slowly since 2016, this pastime morphed into a chore.
This isn't to diminish Jekyll's value - it has been a fantastic tool that has served my initial needs well. However, evolution is the nature of tech, and my path was obviously diverging from Jekyll.
This is where Next.js enters the picture.
My pivot to Next.js was not an impulsive decision nor an attempt to follow a trend. It was deliberate, a response to a platform that marries well with the current and future states of the web. Despite my reservations towards React, Next.js presented a promise that I could not ignore - a robust foundation where dynamic features are not additions but integral parts of the development process.
Originally, I leaned towards ContentLayer, attracted by its popularity. However, concerns over the project's ongoing viability and the looming possibility of abandonment prompted me to look towards Velite - a newer, yet highly promising, project.
Velite stood out for several reasons:
- Its blent of simplicity and capability made the transition smooth, enabling me to focus on the content rather than the tooling;
- The use of Type Safety through Zod and TS resonated with my own preferences;
- The project's infancy and the developer's activity and responsiveness promise a vibrant future;
For the UI, I turned to shadcn/ui, drawn in no small part by its suite of clean React components.
What's next?
Reflecting on my journey from a barebones Jekyll website to my current setup, a few obvious lessons emerge: the essence of my website lies in its content - stores and ideas- rather than the backend that powers it. With the heavy lifting done, the next steps are simpler: migrate the previous content and shift back to my passion - writing.
The transition has been profoundly educational, and while I've praised Next.js for its technical merit, the real value resides in enhancing the fundemental aim of my website - communication and connection.