How I build this site
I run the project, Claude Code writes the code.
Site in numbers
- 17 OctLive since
- 8Releases shipped
- 22 OctLast merge
- 2Versions planned
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
Idea
It starts with something I want to see on the site.
Sparring and decisions
Claude grills the idea, round after round, before anything is decided.
Backlog
Every decision becomes a card, tied to a version on the roadmap.
Brief
Claude writes one set of instructions for Claude Code.
Build
Claude Code builds on its own branch and reports back, assumptions included.
Review
I go through a preview of the change and send feedback.
Release
When I approve, the change is merged and goes live.
Built with
The framework the site is built on
Hosting, and a preview of every change
The code, with every change as a pull request
Sparring partner and author of the briefs
Writes the code
Backlog, roadmap, decisions and the site’s copy
Where briefs, reports and images change hands
The icons
Montserrat and Gelasio
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.