Writing
77 articles since 2020. Mostly about building for the web, and lately quite a lot about AI tooling. They’re numbered in the order I wrote them, newest on top.
06Part 06, the cassette. Every article is a tape in it.
All 77 articles↓Categories
Category27 articles
Develop
Hands-on posts about building for the web: React, TypeScript, Next.js, Python and the tooling around them.
Start withDocker for Frontend Developers
Category15 articles
Teach
Teaching frontend and sharing what I learn: React hooks, patterns and the ideas behind them.
Start withExploring React's useContext Hook
Category13 articles
Homelab
Running servers at home: virtualisation, storage, networking, media streaming and monitoring.
Start withNetworking with Ubiquiti
Category12 articles
Personal
Yearly reviews, habits, a bit of life outside work and the occasional off-topic post along the way.
Start withLooking back at 2025
Category10 articles
Study
Articles from studying and learning on the side: build tools, linting, testing and clean commits.
Start withDemystifying Conventional Commits
All articles
20269 articles
- 077Fretfall Player, a Note Highway in Plain JavaScriptDevelop14 min
- 076A Desktop App with Tauri 2Develop16 min
- 075Godot for Web DevelopersStudy16 min
- 074AI SkillsDevelop11 min
- 073Building AI-Powered Apps with the Vercel AI SDKDevelop14 min
- 072Writing Skills for Claude CodeDevelop15 min
- 071Docker for Frontend DevelopersDevelop13 min
- 070Component-Driven Development with StorybookDevelop13 min
- 069Looking back at 2025Personal2 min
202512 articles
- 068Beautiful Documentation with FumadocsDevelop12 min
- 067Product Analytics with PostHogDevelop12 min
- 066What's New in Next.js 15Develop12 min
- 065End-to-End Typesafe APIs with tRPCDevelop15 min
- 064BiomeStudy12 min
- 063React CompilerDevelop11 min
- 062Tailwind CSS v4Develop12 min
- 061Next.js Server ActionsDevelop16 min
- 060Stripe Integration in Next.jsDevelop10 min
- 059Better AuthDevelop11 min
- 058React EmailDevelop11 min
- 057Looking back at 2024Personal2 min
202412 articles
- 056React 19Develop7 min
- 055Using Prisma with Next.jsDevelop10 min
- 054MonoreposStudy7 min
- 053Headless CMSDevelop7 min
- 052Modular Frontend DevelopmentTeach8 min
- 051CSS Container QueriesDevelop8 min
- 050Modern CSS TechniquesDevelop7 min
- 049Testing Strategies in ReactStudy7 min
- 048Introduction to DocusaurusTeach5 min
- 047Exploring useEffectEventTeach5 min
- 046Integrating AI and Machine LearningTeach6 min
- 045Looking back at 2023Personal1 min
202312 articles
- 044Demystifying Conventional CommitsStudy6 min
- 043Keeping Mac Settings in Sync with MackupTeach4 min
- 042Linting and Testing in ViteStudy7 min
- 041Switch to ViteStudy7 min
- 040Exploring React's useContext HookTeach7 min
- 039Understanding TypeScript UnionsTeach9 min
- 038AI and DevelopmentDevelop6 min
- 037Understanding React TransitionsTeach6 min
- 036Optimising React ComponentsTeach6 min
- 035Idiomatic ProgrammingTeach7 min
- 034Understanding React SuspenseTeach6 min
- 033Looking back at 2022Personal2 min
202212 articles
- 032Self-Hosted Jitsi ServerHomelab5 min
- 031Red pill or blue pill?Teach2 min
- 030Screenshot Testing with ReactStudy9 min
- 029Working with CSS Custom PropertiesTeach4 min
- 028React 18Develop6 min
- 027React HydrationTeach6 min
- 026Handling backupsHomelab4 min
- 025All about the consoleTeach8 min
- 024Using NormalizrDevelop5 min
- 023Monitoring with CheckmkHomelab5 min
- 022Configuring Calibre, Organizr and moreHomelab6 min
- 021Looking back at 2021Personal2 min
202112 articles
- 020Configuring Sonarr, Radarr and moreHomelab9 min
- 019Setting up a VPN server using WireGuardHomelab6 min
- 018Configuring SABnzbd and TransmissionHomelab5 min
- 017An alcohol-free weekendPersonal5 min
- 016Summer breakPersonal1 min
- 015Configuring PlexHomelab7 min
- 014Networking with UbiquitiHomelab5 min
- 013HomeOffice gamesPersonal6 min
- 012Storage - QNAP vs. SynologyHomelab6 min
- 011Virtualisation with ESXiHomelab7 min
- 010My HomelabHomelab4 min
- 009Python 3.9 - What's newStudy5 min
20208 articles
- 008Looking back at 2020Personal3 min
- 007Host a Gatsby project on Divio CloudDevelop3 min
- 006Apps I can't live withoutPersonal11 min
- 005Improve your profile on GitHubDevelop3 min
- 004Getting into GatsbyStudy6 min
- 003Automation using DotfilesHomelab6 min
- 002Finally, a websitePersonal2 min
- 001Getting your habits in orderPersonal3 min