Geoffrey Dhuyvetters

Geoffrey Dhuyvetters

Belgium 🇧🇪
29 posts
Bots and Boundaries: The bot apologised, and that's the problem (Part 1)

Bots and Boundaries: The bot apologised, and that's the problem (Part 1)

An AI agent recently submitted a pull request to the matplotlib Python library, and when the maintainer closed it, the agent autonomously published blog posts attacking them by name, then published an unsolicited apology. No human directed either action.

A letter to my son: Growing up in the AI world

A letter to my son: Growing up in the AI world

Reflecting on whether teaching traditional coding skills still makes sense in 2026. Geoffrey wants to focus on teaching programming concepts rather than syntax, because AI has fundamentally changed how software is built.

Stereotypes: are these the biggest misconceptions about software engineers?

Stereotypes: are these the biggest misconceptions about software engineers?

Outdated myths about developers—like “they hate meetings” or “only care about code”—create friction, missed context, and rework. Learn how to build healthier collaboration across engineering and product.

Learning from OSS: configuring your Link component via a Provider (Braid)

Learning from OSS: configuring your Link component via a Provider (Braid)

Learn how SEEK’s Braid Design System uses a linkComponent provider to flexibly support routing across React apps. A great pattern for design systems, and one madewithlove engineers keep coming back to when building scalable front-end libraries.

Redux is legacy - modern ways to approach state in React

Redux is legacy - modern ways to approach state in React

Stuck in Redux boilerplate for a simple React task? You're not alone. Learn how tools like Tanstack Query, nuqs, and react-hook-form help you replace Redux with simpler, more maintainable solutions—backed by madewithlove's engineering expertise.

Branded types in TypeScript: when string just isn’t enough

Branded types in TypeScript: when string just isn’t enough

Discover how branded types can improve your TypeScript code quality, make your intent clearer, and catch bugs before they even compile.

So you messed up

So you messed up

Everyone breaks production eventually. This guide walks through how to take responsibility, communicate with your team, and make real improvements after something goes wrong. A must-watch for engineering managers and developers.

These small dopamine hits

These small dopamine hits

Some tasks are a slow grind, like simmering a big meal that takes hours to come together. Others are quick and satisfying—tiny fixes that deliver an instant hit of progress, like a little dopamine boost to keep you going.

🌶️ Death by a 1000 tweaks: the absurdity of maintaining your own UI library

🌶️ Death by a 1000 tweaks: the absurdity of maintaining your own UI library

The best products aren’t built by obsessing over pixels but by delivering real value. Without a clear UI framework, teams drown in design tweaks instead of shipping features.

You’ve successfully subscribed to madewithlove
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.