Caleb Eckman

Site Design: Technology and Infrastructure

Published on January 23, 2023

So, what is this site built with?

When approaching a new project, there's always the temptation to use whatever I last heard about on Fireship. Especially as a web developer in 2023, some might say the toughest part of any project is picking the frameworks, platforms, and libraries you'll use to build it. There is an abundance of new technologies out there, an infinite number of hammers for a finite number of projects.

TLDR; I'm a traditionalist. There seems to be a law of diminishing returns when it comes to adopting web frameworks. If I'm losing more time than I gain after the quickstarts (quitstarts), build steps, and dependency management, I'll just stick with what I know: good ole HTML, CSS, and Javascript (supported by all major browsers!).

Framework

This site is built with Eleventy, a minimalistic static site generator. Content is written in Markdown, templates are built with Liquid. Here are a few basic principals that led me to Eleventy:

Packages

There are a few other packages I'm using. CSS is generated with Sass to leverage nested CSS and minimization. I've also included Prism for syntax highlighting, if my blog posts ever get that technical.

Don't even ask me about Tailwind, unlike most developers I actually enjoy writing CSS 🤪

Other Considerations

I've recently discovered Remix, a promising full-stack framework that can generate a static frontend and also handle backend APIs / logic. I've also been interested in Nuxt for quite a while, I tend to prefer the syntax of Vue to React. But at the end of the day, both offered more horsepower than what was needed for this website.

Deployment and Hosting

As a developer I have certainly hopped on the "static" train, especially when static hosting is typically free or almost free. Cloudflare Pages is the host I've chosen for this project. It's free, has a direct integration with GitHub, and has built-in CDN benefits. Along with that, they've recently made their edge functions available with the free tier, so there's the possibility for server-side logic if I need it.