← Zurück zum Blog
ProjektSept. 2026 · 2 Min. Lesezeit

Warum ich mein Portfolio neu gebaut habe

Janis Arnold
Janis Arnold
Webentwickler
Warum ich mein Portfolio neu gebaut habe

Mein altes Portfolio war ein bisschen in die Jahre gekommen und streng genommen auch nie ganz fertig. Mit dem neuen Portfolio will ich probieren, etwas aktiver zu sein, die Seite aktuell zu halten und auch mal ein paar Blogbeiträge zu schreiben, auch wenn diese sehr wahrscheinlich nicht viele Leute zu Gesicht bekommen werden.

Weniger ist mehr

Das Tolle am neuen Portfolio ist, was ich alles entfernen konnte.

daisyUI ist raus. Stattdessen gibt es jetzt ein eigenes Theme, das alle Funktionen ersetzt, und so sehen alle Elemente genau so aus, wie ich es gerne habe. Geholfen hat mir dabei auch Claude Design.

Das i18n-Modul ist raus. Deutsch und Englisch laufen jetzt über ein eigenes kleines «Mini-i18n». Die Sprache steckt im URL-Präfix, die Texte liegen als typisiertes Objekt direkt im Code. Bei zwei Sprachen und wenig Text ist das viel schlanker als ein grosses Modul.

Und das Kontaktformular habe ich entfernt, mit Redis und allem. Grund dafür war massiver Spam, und der Nutzen war sowieso zu klein. Eine E-Mail-Adresse reicht völlig aus.

Was nicht drin ist, kann auch nicht kaputtgehen.

Was gleich geblieben ist

Nuxt ist geblieben, jetzt in Version 4 und somit wieder up to date. Die Seite wird beim Build komplett zu HTML gerendert und wird danach nur noch als fertige Dateien ausgeliefert. Kein Backend, keine Datenbank, fast nichts, was irgendwie ausfallen kann.

Der Blog besteht aus ganz normalen Markdown-Dateien im Repository. Für einen neuen Beitrag brauche ich also nur einen Commit und keine Datenbank. Und weil alles schon beim Build gerendert wird, bleibt die Seite trotzdem schnell.

Design und Umsetzung

Das Design ist in Claude Design entstanden. Ich habe mehrere Richtungen ausprobiert, bis mir etwas gefallen hat. Gebaut habe ich die Seite mithilfe von Claude Code. Das hat vor allem die mühsamen Teile übernommen: Komponenten aus dem Entwurf herausziehen, beide Sprachen synchron halten und diverse Tests und Verbesserungen.

Die Entscheidungen habe ich aber selbst getroffen: was rausfliegt, was bleibt und wie viel Aufwand ein Feature wert ist. Genau deshalb ist die Seite am Ende so geworden, wie ich sie mir vorgestellt habe.

Was als Nächstes kommt

Sobald ich wieder etwas habe, das sich zeigen lässt, kommen hier neue Projekte dazu. Und hoffentlich auch ab und zu ein Blogbeitrag.

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