For this portfolio, my priority was extreme speed and absolute control. I didn’t want a heavy site loaded with unnecessary layers. I wanted an engine that would fly and a way of writing that was as direct as opening a text file. 🚀
The Origin: A Fork with Purpose
This project is a super-charged fork of the excellent AstroPaper theme. Why reinvent the wheel when you can improve it? I took AstroPaper’s solid minimalist foundation and transformed it to suit my current standards:
- Full translation and cultural adaptation to Spanish (and now native English).
- Total refactoring to support advanced multimedia content.
- “Bare Metal” Architecture: Removal of heavy visual editors in favor of direct Markdown editing.
The Technology Stack
1. Astro 5 (The Engine)
I chose Astro because it is, quite simply, the best engine for content-driven sites. I use an “Islands” architecture where almost everything is static HTML. I only hydrate interactive components with JavaScript when necessary, such as the project search.
2. Pure Markdown (The Content)
While I experimented with local CMSs like Keystatic in previous versions, I decided to remove them and return to basics. All content (including this post you’re reading now) lives as pure Markdown files in the repository. This guarantees:
- Infinite Maintainability: Markdown has no dependencies that break.
- Writing Speed: No slow interfaces; I just open VS Code and write.
- Security: As a purely static site, the attack surface is non-existent.
3. Pagefind (Instant Search)
For searching, I use Pagefind, a static search engine that requires no server. It generates an ultra-optimized index during the build phase that allows searching projects and posts with impressive relevance without compromising performance.
4. Umami Analytics (Privacy First)
I don’t use Google Analytics. I have integrated Umami, an analytics solution that respects visitor privacy, uses no invasive cookies, and is 100% transparent.
5. CI/CD on GitLab
Deployment is automated. Every time I push a change to my GitLab repository, a pipeline is triggered that builds the site, generates the search index, and deploys it.
Why SSG (Static Site Generation)?
In the modern web, we sometimes forget that less is more. By generating the site statically, loading times are instantaneous. There are no real-time database queries, just files ready to be delivered at the speed of light.
This portfolio is a testament to my philosophy: The code must be elegant, but the content must be king. ✨