As I have gotten older, I have realized that caring less about what people think has brought me a great sense of freedom. In the past, I used to follow all the latest trends in tech, constantly trying to keep up with what everyone else was doing. But now, I have embraced a simpler approach.
I no longer feel the need to use the latest and greatest technologies just for the sake of it. Instead, I focus on using the tech that I genuinely enjoy working with when building websites. This means staying close to the foundations of the web.
My preferred tech stack consists of HTML, CSS, and JavaScript – three essential building blocks of any website. All the tools that have been released to ‘improve’ web development output these in the end so why not just use them?
To make my development process easier and more efficient, I use a few tools that complement these core technologies:
Content Management System: Jekyll
For managing content on my websites, I rely on Jekyll. It allows me to store all my content in markdown files which are easy to version control using git and modify as needed. With Jekyll, organizing and updating content becomes a breeze. Plus all of the templates are in HTML (with a small amount of Liquid templating language) which makes them easy to understand and modify.
JavaScript Framework: Reef.js
When it comes to developing apps, Reef.js is my go-to framework. It’s a simple pure JavaScript framework that takes care of templating and data storage while leaving the rest of the app development up to pure JavaScript code. Using Reef.js simplifies app development without unnecessary complexity.
I find modern JavaScript itself incredibly capable and powerful; therefore, relying on libraries like jQuery is redundant nowadays. By leveraging modern JavaScript features directly, we can achieve similar results without adding extra dependencies or overhead.
CSS Library: ElementalCSS
To handle CSS styling efficiently, I’ve created my own library called ElementalCSS. This library combines a classless CSS framework with a utility library similar to Tailwind CSS. However, it is designed to be lightweight, eliminating the need for a build process. ElementalCSS provides sensible default styles and utility classes, making styling straightforward.
PHP for Data Processing
I now work exclusively with static websites, but I occasionally use PHP for data processing tasks on my local machine. For example, I use PHP to determine related post relationships, something that Jekyll doesn’t offer out of the box. However, these PHP scripts do not run on the actual websites themselves.
By sticking to HTML, CSS, and JavaScript for my websites, I have experienced numerous benefits. Recently when one of my articles reached number one on Hacker News, my site handled the surge in traffic effortlessly. Since there are no databases or complicated server configurations involved, everything is static and loads incredibly fast.
Simplicity allows me to focus on what matters most – making awesome websites. Instead of constantly chasing after the latest trends and fixing bugs in complex frameworks, I can enjoy the process of web development.
Life is too short to worry about always being up-to-date with every new technology. While React may eventually fade into obscurity like jQuery has today, HTML, CSS, and JavaScript will likely remain fundamental components of web development for many years to come – perhaps even expanding their reach even further?
Was it good/ useful/ a load of old rubbish? Let me know on Mastodon, or BlueSky (or Twitter X if you must).
Link to this page
Thanks for reading. I'd really appreciate it if you'd link to this page if you mention it in your newsletter or on your blog.