Logo

Why astro?

By Ignacio Fernández | Last modified: 30-07-2025

If the only tool you have is a hammer, you tend to see every problem as a nail.

After the news of 37Signals Junior Software Engineer job opening I had one thing clear, I need to show my current skills, so I set myself to the task of rebuilding my portfolio with all the knowledge that I gathered after a whole+ year as a software engineer.

After a few iterations, I’ve found myself with a pretty good and simple roadmap:

  • ditch yarn(I don’t know that I was thinking when I pick it either) and move to npm
  • migrate from class-focused approach files to pre-built components like Mantine and if needed Tailwind
  • add client-side routing using React Router
  • add processing for markdown components, something like vitepress or some library to support github-flavored markdown

Maybe not a big list, but definitely not a small one either, so in the middle of this process, A friend called me and propose to me to start building simple landing page sites, he was abroad in Ibiza and needed a way to create customizable templates that would be fast to setup and easily extensible.

I thought of an old friend, Astro, I’ve used Astro before, but I haven’t truly sat with it wanting to learn it, until now, it was always a tool to deliver a solution fast, pick a theme, replace, customize, ship.

After a few days tailoring our first template I’ve realized, Astro has everything that I want for my porftolio

  • Content focused approach, ideal for blogs
  • Excellent SEO
  • Routing out of the box
  • Support for markdown
  • Multilingual support

Of course, I’ve could stick to React and Vite, but if the only tool you have is a hammer, you tend to see every problem as a nail.

It was an opportunity to seriously learn what Astro was capable of


Sometimes you dont have to think that much, you could just use an opinionated framework

One of the things that I love as much as I hate about React is the lack of “rules”, yes you have good practices of course, but no one stops you from writing your Components files in kebab-case.tsx, actually is how I prefer it!.

Is good to have choices, but sometimes if the problem is trivial and thousand persons solved it before you, maybe you could re-use something. There are cases in which re-inventing the wheel is worth doing, creating a static blog template in the other hand…

Focus on the important

Once you have certain files and pretty straight forward configurations made, adding a new post for example is as easy as adding another .md file and start editing, is a literal dream. In just a few hours I’ve accomplished most of the tasks that I had planned, the heavy lifting is done, now I can focus in founding my tailwind classes, it really is the frontend dream.