Below, you'll find a collection of coding experiments, blog posts and side projects I've been thinkering with. It's a mix of educational web apps, tutorials, data visualisations and creations just for fun.
Articles & Experiments
Growing a Better World... Together with AI
Notes from my talk at the AI Circle on vibe coding, the changing role of engineers, and why AI should be an exoskeleton — not a replacement.
Generating vs. Searching
My 'Software for One' post got some comments about energy costs of generating small apps with AI. When I looked into it, the numbers surprised me.
Software for One
Instead of downloading someone else's app, I built exactly what I wanted for less than a dollar using AI. Is this the future of software?
Computer Says No
When AI takes over the coding, a layer of knowledge disappears - not just for the user, but for the builder themselves.
Gemini Paints Sunflowers in SVG
A new AI model drops every day. Today it was Gemini 3.1 Pro, which does a surprisingly nice SVG rendition of modern art — the Sunflowers in particular caught my eye.
Omarchy-Inspired Setup for macOS
How to set up a keyboard-driven tiling window manager on macOS using AeroSpace and SketchyBar.
Coding is Dead
From typing over starfield code as a kid to letting AI agents build features - reflecting on how coding is changing and what it means for software engineers.
Building Tetris Time with Claude Code
A New Year countdown and clock visualized with falling Tetris blocks. In this post I share some insights on what has been working well for me when building with AI coding agents.
A Brief History of Large Language Models
From ChatGPT's launch to AI agents with tools - a user's perspective on how LLMs evolved from chatbots to autonomous systems in just three years.
Adding llms.txt (and a honeypot) to my website
Implementing the llms.txt standard to help LLMs understand my website, plus a clever honeypot to track when AI assistants actually visit.
A New Metaphor for AI
A post about a better metaphor for AI than the dominant "Terminator" narrative. What we can learn from the history of automata and scientific progress.
Is creativity nothing more than a little randomness?
By using the randomness, AI can generate more surprising and engaging text, similar to how some human thinkers benefit from unconventional approaches. This post explores the concept of randomness in AI and its implications for creativity.
Analyzing GPT-4 Tokens
For this article I used Llama3 to analyze GPT-4 tokens, revealing a strong bias towards English and code.
AI and the Complexity of Code
Large Language Models like ChatGPT and CoPilot have a dual role in simplifying and complicating software development. Using a simple experiment this post explores how LLMs often lead to an increase in code complexity.
Elder Race, book review
I read "Elder Race" by Adrian Tchaikovsky, a sci-fi novel that explores the concept that any sufficiently advanced technology is indistinguishable from magic.
Rising Temperatures in The Netherlands
Visualizing the weather anomalies in rainfall, sunshine and temperature in the Netherlands using data from the Dutch Meteorological Institute (KNMI).
Why I Prefer Trunk-Based Development
Moving away from the structured Git Flow to a more continuous approach with only one main branch.
Accessible router links in Angular
About the routerLink directive and how to make sure it's accessible
Progressively enhanced dark mode
Adding a dark theme to my website using NextJS 13 and React Server Components
AI Enhanced Education
During the pandemic, I worked on a side project to help parents create lessons for their kids, but it was too time-consuming to create those lessons. Now, with LLMs, I revisited the idea.
Why a plant-based diet is a good idea
My arguments in favor of eating less meat.
Guest post by ChatGPT
I asked ChatGPT to write a blog post about its impact on the way developers write code. The contents might surprise you.
Reading Notes Regenesis
Regenesis: Feeding the World without Devouring the Planet. By George Monbiot.
Plotting the age of parliament with Livebook
A tutorial for Livebook, an interactive coding notebook for the Elixir programing language.
Phoenix LiveView Cursors
Part 2 of my tutorial creating "live cursors" as seen in Figma. In this tutorial, I'll be using Phoenix LiveView to create the same feature.
On returning to the office
Some advice from the Stoic philosopher Seneca for workers returning to the office after the pandemic.
Live user cursors with Phoenix Presence
A tutorial for creating live cursors as seen in Figma. A step-by-step guide focused on beginners (I'm learning Phoenix myself).
Clean code is a phase
Why it's better to be kind than to be clean.
Adding Tailwind CSS to a Phoenix project
With the official mix task it has become very easy to add Tailwind to any Phoenix project. To make it even more straightforward I've written this quick step-by-step guide.
React components should read like a book
How the ordering of functions can make component files easier to read.
One command to run it all
Why mocking all external requests for your app is worth it.
Of Bundles and Barrels
Why index barrel files can lead to large bundle sizes
Code Colocation is King
A simple principle to help structure code better
Using Svelte to create a scroll video effect
Tutorial on how to create a scroll video effect using Svelte’s powerful bind command.
Programming quotes
A collection of great programming quotes
mobx-state-tree
A first look at the state management library mobx-state-tree and a comparison with Redux Saga.
303 See Other
Last week I learned a few things about how redirects and 303 status codes are handled in the browser.
Accessible SVGs in React
How to let screenreaders read the title of an SVG using React
Brutalist CSS
196 bytes of minimal CSS
Forgit me nots
Git commands I keep forgetting
Reading notes Programming TypeScript
Stuff I don't want to forget from the Book Programming TypeScript.
Using React Hooks with canvas
An intro to the React hooks useState, useRef and useEffect
Reading notes Accelerate
Accelerate gives a scientific analysis of what makes IT organizations successful. I've listed the most important ones (from a developer perspective)
Reading notes CSS In Depth
Review of a book for programmers who have always considered CSS to be an (unpleasant) afterthought
API testing with Jest
Testing async API calls using Jest’s mocking features
Generating PDF's with Express
A fun little tutorial of how to create a PDF using a web form, Express and PDFKit