It’s been a while since I had a personal site. For the longest time, I didn’t feel it was necessary—but recently, I decided it was time to launch one again. Here’s why:
- To showcase my work: A personal site is the best way to highlight my projects and skills.
- To explore new technologies: Building this site is an opportunity to experiment with modern frameworks like Astro.
- To have a creative outlet: Writing and designing for a site I own is a great way to stay inspired.
- To share my thoughts: I wanted a space to blog about web development, hobbies, and life.
Once I decided to create a personal site, the next challenge was figuring out how to build it. With so many options—content management systems, static site generators, and web frameworks—it took some time to find the best fit for my needs. Since this blog is primarily a static site, the main contenders were Jekyll, Hugo, Eleventy, and Astro. In the end, I chose Astro for its modern features and unique approach to performance and interactivity.
Jekyll
I really wanted to like Jekyll—it’s the OG static site generator, and Ruby’s elegant syntax is appealing. However, the need to set up a Ruby environment and manage dependencies with Bundler felt like unnecessary overhead for someone without Ruby experience. Combined with Jekyll’s slower build times compared to modern alternatives, I decided it wasn’t the right fit for my project.
Hugo
Hugo’s reputation for being lightning-fast immediately caught my attention. As one of the fastest static site generators, it seemed like a great fit for a performance-focused site. However, its templating language, based on Go, felt less intuitive to me and harder to pick up compared to other tools. While Hugo offers powerful features out of the box, the steep learning curve for customizing templates made me hesitate. That said, I can see myself revisiting Hugo one day when I have more experience with Go and want to take full advantage of its speed and capabilities.
Eleventy
Eleventy was a strong contender for my personal site. As a JavaScript-based static site generator, it felt familiar and offered incredible flexibility, letting me choose from multiple templating languages like Nunjucks, Markdown, and Liquid. I appreciated its lightweight, unopinionated approach, which gave me full control over the structure and design of my site. In the end, though, it came down to Eleventy and Astro. While Eleventy’ simplicity and versatility were appealing, Astro’ performance-first focus and modern features—like its islands architecture—ultimately tipped the scales in its favor.
Astro
From the moment I started exploring Astro, it felt like the perfect fit for my site. Its performance-first approach, with zero JavaScript shipped by default, was exactly what I wanted for a fast, lightweight blog and portfolio. I loved how seamless it was to integrate Tailwind CSS—it just worked. On top of that, Astro’s project structure made immediate sense to me, requiring minimal time to get up and running. While Eleventy came close, Astro’ unique balance of performance, modern features, and developer-friendly design made it the clear winner for me.
Getting started with Astro
Setting up Astro was extremely straightforward. After briefly skimming through their blog tutorial, I ran npm create astro@latest
and was up and running in minutes.
What I appreciated most was how clean and intuitive the project structure was. Everything—from where to place components and layouts to managing content—made sense right away. Even without diving deep into the docs, I felt confident navigating and customizing the setup.
Final thoughts
Building this site with Astro has been a smooth and rewarding experience. The developer experience is intuitive, and the thorough documentation has made it easy to get started without needing to dive too deeply. While Eleventy was a strong contender, Astro’s performance-first approach and modern features ultimately won me over.
That said, I can see myself revisiting Eleventy in the future when I want to experiment with its flexibility and minimalist design. For now, I’m excited to continue exploring Astro and using this site to showcase my work and grow as a developer. If you’re considering building a personal site, I highly recommend giving Astro a try.
Resources
If you’re still undecided on what to use, here are some resources I used when researching which static site generator to try out: