This website
The problem
LinkedIn serves its purpose, but it isn’t the right place to reflect calmly on what you’re building, share the process behind your projects, or simply write in a more personal tone. I needed my own space.
What the system does
This site is a bilingual (Spanish and English) space built from scratch, with two separate content sections: a blog for narrative, personal reflections, and a projects section with technical write-ups of what I’m building.
The main requirement from the start was that the site be genuinely bilingual, not as a feature added later, but as part of the architecture: separate routes per language (/es/ and /en/), a TypeScript-typed translation system, and a language switcher that remembers the user’s preference.
Tech stack
- Astro as the static site generator, with first-class Markdown content support
- Tailwind CSS for a custom brand palette without fighting global CSS
- TypeScript in strict mode for the translation system
- Astro content collections for blog and projects, each with its own schema
- SEO: automatic sitemap, Open Graph meta tags, branded social image
For the design I wanted something warm and personal: a palette of soft roses, lavender, and ivory mint, with an accent of dusty rose (#BC8F8F). Typography pairs Playfair Display for headings with Inter for body text.
Current status
In production. It’s a living project I keep expanding with new content and features.
You can read more about the decisions behind this site in this blog post.