← Back to blog
ProjectSept 2026 · 2 min read

Why I rebuilt my portfolio

Janis Arnold
Janis Arnold
Web developer
Why I rebuilt my portfolio

My old portfolio was getting a bit dated, and strictly speaking it was never really finished. With the new one I want to try to be a bit more active, keep the site up to date and write the odd blog post, even though most likely not many people will ever see them.

Less is more

The nice thing about the new portfolio is how much I was able to remove.

daisyUI is out. Instead there's now a theme of my own that covers everything it did, so every element looks exactly the way I like it. Claude Design helped me out with that too.

The i18n module is out. German and English now run on my own little "mini i18n". The language comes from the URL prefix and the text lives in the code as a typed object. With two languages and not much text, that's a lot leaner than a big module.

And I removed the contact form, Redis and all. The reason was a huge amount of spam, and it wasn't that useful anyway. An email address is more than enough.

What isn't there can't break.

What stayed the same

Nuxt stayed, now on version 4, so it's up to date again. The whole site gets rendered to HTML at build time and then just gets served as finished files. No backend, no database, hardly anything that could go down.

The blog is just plain markdown files in the repository. So a new post only needs a commit, no database. And since everything is rendered at build time, the site stays fast.

Design and build

The design was made in Claude Design. I tried out a few different directions until I found something I liked. I built the site with the help of Claude Code, which mostly took over the tedious parts: pulling components out of the mockup, keeping both languages in sync, and plenty of testing and improvements.

The decisions were still mine though: what goes, what stays, and how much effort a feature is worth. That's exactly why the site ended up the way I pictured it.

What's next

As soon as I have something worth showing, I'll add new projects here. And hopefully a blog post every now and then.

  • Nuxt
  • Nuxt Content
  • Vue
  • Tailwind
  • TypeScript
  • Claude Design
  • Claude Code