Μετάβαση στο περιεχόμενο
Πίσω σε όλα τα άρθρα

13 Ιουλίου 2026

Building this CV site with Nuxt 4

  • Nuxt
  • Performance
  • DX

This site is a small case study in doing a lot with a little. The goal was a personal CV that loads instantly, costs nothing to host, and stays easy to maintain.

The approach

Every page is pre-rendered at build time, so visitors get static HTML. Only one route stays dynamic — the contact form endpoint — because it needs a server-side API key.

export default defineNuxtConfig({
  nitro: {
    preset: 'node-server',
    prerender: { crawlLinks: true, routes: ['/'] },
  },
})

What went in

  • Nuxt 4 with TypeScript for the app shell
  • Tailwind CSS v4 for styling, with theme-aware design tokens
  • Nuxt Content for this blog
  • Resend for the contact form, behind a rate-limited, validated endpoint

What I optimised for

Performance and accessibility were non-negotiable: self-hosted fonts, responsive images, reduced motion support, and a strict content security policy. The result is a site that feels instant and scores well without any manual babysitting.

© 2026 Dionysis Balaskas · Με επιφύλαξη παντός δικαιώματος

Φτιαγμένο εξ ολοκλήρου με AI agents