Portfolio Live
Portfolio
Marco Orta's portfolio and blog on Astro 6 SSR, Preact, Tailwind 4 and Pagefind, with EN/ES i18n, MDX content and developer tools.
- Role
- Design & Development
- Year
- 2025
- Published
- 8 de agosto de 2025
ortamarco.me is my personal portfolio: it showcases my projects, hosts a technical blog written in MDX and publishes a collection of tools for developers and network admins. It runs on Astro 6 in SSR mode behind the standalone Node adapter, with opt-in prerendering on static pages so it keeps top performance and SEO without giving up dynamic endpoints.
Features
- Astro 6 SSR + selective prerender: static pages opt in via
export const prerender = true, dynamic endpoints stay server-rendered. - EN/ES i18n: Spanish is the default; English lives under
/en/with its own page copies and shared translations undersrc/i18n/. - MDX blog with Prism-powered syntax highlighting and Zod-typed content collections.
- In-house tools (JWT decoder, DNS / SSL / IP lookups, converters, etc.) built as Preact islands paired with
src/pages/api/tools/endpoints. - Forms as Astro Actions validated with Zod (contact, quote, newsletter), delivering transactional email through Mailgun.
- Static search via Pagefind: index built at build time and consumed by
/search, with zero server cost.
Tech stack
- Astro 6 with
@astrojs/node(standalone) in SSR mode - TypeScript with strict mode across the codebase
- Preact for interactive islands
- Tailwind CSS 4 as a Vite plugin, no
tailwind.config - Alpine.js for lightweight interactions (nav toggle)
- Pagefind for the static search index
- Astro Content Collections as the source of truth for blog, projects, tools and static data
Demo
Goal
Be a single, fast, accessible bilingual hub that combines portfolio, blog and developer tools, while the codebase itself doubles as a case study of the stack it’s built on.