Skip to content
Adrian Nita
All projects

Portfolio

This website. Two languages, static HTML, case studies and a CV generated from the same data, and code written together with Claude Code.

Role
Design, code with Claude Code, deployment
Year
2026
Stack
Nuxt 4, Vue, TypeScript, Tailwind CSS 4, Nuxt Content, Cloudflare Pages
  • 1 day

    from first commit to deploy

  • CSP

    security headers on Cloudflare

  • PL / EN

    two language versions

  • 1 JSON

    feeds both the page and the PDF CV

Portfolio homepage: a headline about stores and panels with payments and APIs

The brief

I needed a site that shows in 30 seconds that I ship production systems, with a simple way to get in touch. Plus two languages and a CV that never drifts from the site.

What I did

I set the plan, the architecture and the copy myself and wrote the code with Claude Code. I read every change and checked it in the browser before it went live.

Decisions

Static HTML

Pages are prerendered, so there is no server to look after. The only endpoint is the contact form, which runs as a function on Cloudflare.

Animations in CSS

The header, the experience timeline and section entrances run on scroll-driven animations, without JavaScript. They switch off with reduced motion.

E-mail assembled in the browser

The full address is in neither the HTML nor the bundle, so address-harvesting bots don't find it.

What I fixed along the way

Section content waited for hydration and could stay invisible on a slow connection. I moved the reveal to CSS and a single observer that doesn't depend on sections loading.

The year in the footer and in the years count drifted between the HTML and the browser after New Year. It now comes from the build payload.

The result

The site is live at adriannita.pl. Every push goes through lint, types, tests and a build, and after deploy a smoke test checks the page and the form.

  • Animations in CSS

    The header, the experience timeline and page transitions run on scroll-driven animations and View Transitions.

  • CSP and headers

    A Content Security Policy with hashes of inline scripts and security headers on Cloudflare.

  • SEO

    Schema.org ProfilePage, hreflang, a sitemap and OG images generated at build time.

  • CI/CD

    Lint, types, tests and a build on every push, a smoke test after deploy and CalVer releases.

Got a similar project?

Tell me in a few sentences what you want to build.