Hi, I'm Niels!

I’m a software engineer with 10+ years of experience building modern web applications and SaaS products. I enjoy working on new ideas from an early stage and preferably work with Laravel, React, TypeScript, and Tailwind.

I care about building software that is clear, maintainable, and reliable, with a strong appreciation for tools that get out of the way and let you focus on solving real problems.

I help build the core product at Diagonal and previously worked at Spatie.

On this site, I occasionally write about development and collect posts from others that I found useful or interesting.

4 min read

Type-safe Inertia responses with View Models

View models in Laravel help to structure your Inertia props, reduce duplication, and make backend to frontend data more maintainable and type-safe.
Read article →
spatie.be

What to expect from open source

In 2023, DHH's decision to remove TypeScript from Hotwire and Turbo caused some drama in the JavaScript community. At Spatie we’re open source maintainers too, so this sparked an interesting debate: What can users expect from our open source packages?
Visit Link →
spatie.be

Reintroducing Laravel Backup Server as an open source package

Backup Server is a Laravel package that monitors your servers and ensures their contents are backed up. It uses rsync to back up data from a source (a server you have access to via SSH) to a backup destination (a local Laravel disk).
Visit Link →
3 min read

Publishing this website on Cloudflare

How I finally managed to finish and deploy a personal website instead of letting it end up in the digital graveyard with the others.
Read article →
gist.github.com

Semantic Commit Messages

See how a minor change to your commit message style can make you a better programmer.
Visit Link →
swyx.io

Preemptive Pluralization

Before you write any code — ask if you could ever possibly want multiple kinds of the thing you are coding. If yes, just do it. Now, not later.
Visit Link →
signalvnoise.com

Give it five minutes

I stumbled upon this great 10-year-old article by Jason Fried on giving someone else's ideas a chance. Think before reacting to keep a creative mindset.
Visit Link →
janostlund.com

Eloquent: manipulating large chunks of data

Laravel's data retrieval methods: get(), chunk(), and lazy(), compared through informal benchmarks. Understand memory and speed trade-offs.
Visit Link →
josephsilber.com

Lazy Collections in Laravel

Laravel's LazyCollection class is a powerful tool that lets you process enormous amounts of data with very little memory.
Visit Link →
4 min read

Get started with Psalm on a long-living project

Static analysis like Psalm and Phpstan are increasing popularity in the PHP world. It gives us the ability to discover unknown potential bugs in our code without actually running it.
Read article →