Geoffrey Dhuyvetters

Geoffrey Dhuyvetters

24 posts
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.

There is a time and place for everything: managed services vs DIY

There is a time and place for everything: managed services vs DIY

Should you avoid managed services to prevent lock-in? Maybe. However, spending months reinventing infrastructure instead of shipping features is a bigger risk. Balance is key. Know the trade-offs, understand the costs, and make decisions based on your reality.

Learning from OSS: legacyBehaviour property on Next.js 's Link component

Learning from OSS: legacyBehaviour property on Next.js 's Link component

Ever introduced a breaking change and instantly regretted it? Components evolve, but forcing users into painful refactors isn’t ideal. Next.js tackled this with a legacyBehaviour flag—letting devs opt out of the new behavior while they migrate at their own pace.

Bridging the gap: how front-end engineers can help shape product development in smaller teams

Bridging the gap: how front-end engineers can help shape product development in smaller teams

In small teams, front-end engineers can bridge gaps in product clarity by refining goals, collaborating effectively, and using flexible tools to deliver features efficiently.

Introducing URL: The Zero-Dependency, Framework-Agnostic State Manager

Introducing URL: The Zero-Dependency, Framework-Agnostic State Manager

Say hello to URL 🚀 We’re excited to introduce URL, a zero-dependency, framework-agnostic solution that simplifies state management for modern web development. No installs. No complex tools. Just pure simplicity.

Beyond junior and senior labels: Push and Pull developers

Beyond junior and senior labels: Push and Pull developers

Labels like "junior" and "senior" often fail to capture a developer's true value. True impact comes from initiative, ownership, and proactive contribution—not just years of experience. We value "pull developers" who actively seek improvement, ensuring the product's success beyond assigned tasks.

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.