Say no to javascript

Why My Person Website Uses No JavaScript

I will use “portfolio” instead of “personal website” throughout this blog

I’ve intentionally kept my portfolio simple. There’s no React, no JavaScript framework, and no large frontend stack behind it. It’s just HTML and CSS.

For a portfolio, I don’t really see a reason to add JavaScript when the content itself doesn’t need it. I mainly need a few pages, some typography, links, images, and a way to present my work. HTML and CSS are more than enough for that.

This is also part of how I like to approach software in general. I prefer using fewer dependencies when they aren’t necessary. Every framework, library, and package adds another layer of abstraction to a project. Sometimes that layer is useful, but sometimes it just becomes something we maintain because it was added in the first place.

There’s also a small connection between this approach and how I think about free and open-source software. I use a lot of open-source software in my daily work, and I try to support that ecosystem in my own way. Keeping my own projects small, dependency-light, and built around open standards is one of those ways.

Performance is another reason. A small improvement might not feel important when you look at one website, but the same thinking becomes much more interesting when applied at a larger scale. Reducing unnecessary JavaScript, dependencies, processing, and network requests can make a difference when millions of users are involved.

You can see examples of this approach outside of personal websites too. SourceHut is a good example. It provides Git hosting and other developer services while keeping its web interface extremely lightweight, with essentially no JavaScript required for the core experience.

Compare that with platforms such as Reddit, where a simple page can involve a large amount of JavaScript and client-side processing. There are obviously reasons for building applications that way, especially when they provide highly interactive interfaces, but it also shows how quickly the web can become complicated.

I’m not saying JavaScript or frameworks are bad. I use them when they make sense. If I’m building an interactive application, a dashboard, or something that genuinely needs client-side state and behavior, I’ll use the appropriate tools.

But a portfolio doesn’t need to be an application.

For me, using HTML and CSS here is less about avoiding modern technology and more about using the right amount of technology for the problem. If a website can do its job without JavaScript, I’d rather let it.