jmsan.xyz is the site you are reading: portfolio, technical blog and a catalog of engineering playgrounds, in English and Spanish.
How it is built
- Astro 7, static output. Content lives in Git as Markdown, MDX and YAML in typed content collections, validated at build time. There is no CMS, database or backend.
- Honest internationalization. Every page is written once and generated per language; a page
exists in a language only if its content does.
hreflang, the language switcher and the sitemap come from a single route registry, so they cannot disagree. - Independent playgrounds. Each implementation lives in its own repository and stack; the site
links to its demo and its MkDocs documentation, or integrates their static builds under
/docs/and/demos/. - Quality gate. Type checks, ESLint, Prettier, unit tests and a test suite that runs against the
built site: links,
hreflangreciprocity, localized metadata, feeds, drafts and the CSP. - Hosting. Cloudflare Pages, with a strict Content Security Policy.