Building my portfolio with Astro


I Built my portfolio with šŸŖ Astro.js, and hereā€™s why

Over the years, Iā€™ve had several portfolios, but they were always static websites that ended up being forgotten, with outdated content because they were ā€œcomplicatedā€ to maintain.
This time, I wanted to do something more dynamic. I want to update my websiteā€™s content without headaches: I write something, click a button, and voilĆ , the website is updated.

Why Not Next.js?

At first, I considered using Next.js since it allows me to optimize my websiteā€™s SEO with SSR (Server-Side Rendering) while also developing a dashboard to modify and publish content.
In my head, the idea made sense, but after thinking about it, I realized I was using a sledgehammer to crack a nut. I needed a simpler way to do things.

Discovering Astro.js

While researching, I discovered Astro.js, a framework focused on content-driven websites.
After playing around with it for a bit, I saw that it was the perfect solution. With Astro, I can have a folder of Markdown (.md) files and generate web routes directly.
I combined this with MDX to include more complex components.

Automating Content Updates

Still, this didnā€™t solve my main problem: I wanted to modify content with a single click. So I created a GitHub repository where I store the Markdown files that my website renders. I added a GitHub Action to this repository that notifies my server whenever a change is made so that it can generate or re-render the modified routes.

Mission Accomplished šŸš€

And thatā€™s itā€”mission accomplished. Now, with just one click, I can apply changes to my website in a simple way.

(Though I always end up doing a git push from the terminal šŸ˜µā€šŸ’«)

[email protected]