How I build this site

I run the project, Claude Code writes the code.

Site in numbers

Now & next

Next: v2.1

A way to show where I've been: places I've travelled to, and destinations I've sold during my years in travel.

Planned: v3.0

Stories from my career, with more of the how and why than a CV has room for. Plus the numbers on the home page shuffle on every visit.

How I build it

  1. 1

    Idea

    It starts with something I want to see on the site.

    • Me
  2. 2

    Sparring and decisions

    Claude grills the idea, round after round, before anything is decided.

    • Me
    • Claude

    Claude (chat)

  3. 3

    Backlog

    Every decision becomes a card, tied to a version on the roadmap.

    • Me

    Notion

  4. 4

    Brief

    Claude writes one set of instructions for Claude Code.

    • Claude

    Google Drive

  1. 5

    Build

    Claude Code builds on its own branch and reports back, assumptions included.

    • Claude Code

    GitHub

  2. 6

    Review

    I go through a preview of the change and send feedback.

    • Me

    Vercel preview

  3. 7

    Release

    When I approve, the change is merged and goes live.

    • Me

    Vercel

Built with

  • Next.js

    The framework the site is built on

  • Vercel

    Hosting, and a preview of every change

  • GitHub

    The code, with every change as a pull request

  • Claude

    Sparring partner and author of the briefs

  • Claude Code

    Writes the code

  • Notion

    Backlog, roadmap, decisions and the site’s copy

  • Google Drive

    Where briefs, reports and images change hands

  • Lucide

    The icons

  • Google Fonts

    Montserrat and Gelasio

  • Vercel Web Analytics

    Visitor stats, no cookies needed

Shipped

  • Version 2.0: Off the clock

    • A new row on the home page with my most played songs on Spotify, the coffee I’m brewing right now and my World of Warcraft character.
    • The songs come straight from Spotify. The coffee I update by hand.
    • Images load through the site itself, so your IP address isn’t sent to Spotify or Blizzard.
    • A version in progress on this page now gets a live dot.

    Decision: If Spotify or Blizzard doesn’t answer, the cards stay put and show a cheeky line instead of going blank.

  • Version 1.6: Privacy and a new order

    • A short privacy page, linked in the footer.
    • Off the clock is up next, and the stories moved to v3.0.
    • The design system uses English names throughout.

  • Version 1.5: Links and tidier lists

    • Naughtypanda.se in the text about me is now a link.
    • The tools under Built with link to their websites.
    • Two-column lists now line up row by row.
    • Versions in progress show their goal, not just the work.

  • Version 1.4: Showing the work

    • This page, with how the site gets built and what’s coming next.
    • The design system is now in English.
    • A link to this page in the footer.

  • Version 1.3: Small fixes after QA

    • Clicking my name in the header from another page now lands at the very top of the home page.
    • The menu links no longer flicker when switching between light and dark mode.
    • The page no longer shifts when the birds load.

  • Version 1.2: A home for lost pages

    • Pages that don’t exist now end up with Tusse, in an empty box.
    • Courses sit next to Experience, with the current one marked Ongoing.
    • The strengths at the top of the home page have new texts.
    • A live dot in the status line shows that I’m open to new roles right now.
    • A little more breathing room on the sides on mobile.

    Decision: The 404 page got one of the site’s birds at first. It pushed the content down on mobile, so it flew off again.

  • Version 1.1: Day-one polish

    • Shared links now show the same heading and subtitle as the page.
    • Small fixes to copy and spacing after launch day.

  • Version 1.0: First version live

    • Who I am, a few numbers, experience, tools and how to reach me.
    • Light and dark mode, and your choice is remembered without cookies.
    • Findable in search, with its own title, description and share image.
    • Visits are measured without a cookie banner.

    Learned: A living design system and a rulebook keep the design consistent, however many chats are involved.

Say hej.

Email is the quickest way to reach me, and I’m always happy to grow my network on LinkedIn.