👋 Hi, I'm Nicolas Charpentier

I'm a Software Engineer doing the "backend" work of the frontend: architecture, tooling, and infrastructure. I specialize in TypeScript, React Native, React, GraphQL, and CI/CD.

I'm an open source enthusiast who loves removing friction from the developer experience and hunting down performance issues.

Currently working at Shortcut.

Sharing knowledge is part of removing friction, so here are my latest findings:

Blog Posts

Protecting Against Compromised Packages with Minimum Release Age

Protecting Against Compromised Packages with Minimum Release Age

6 min read

Leverage your package manager's minimum release age setting to delay the installation of freshly published versions and reduce the risk of pulling in a compromised package.

Read more
Access Your Homelab Services Without Memorizing IPs and Ports

Access Your Homelab Services Without Memorizing IPs and Ports

5 min read

How I made my homelab services easily accessible with a Heimdall dashboard, local domain names via mDNS, and default ports.

Read more
Bun Code Coverage Gap

Bun Code Coverage Gap

3 min read

Bun's test runner only tracks coverage for loaded files. Here's how to expose the gaps.

Read more
Configure "Go to Definition" to Open TypeScript Source

Configure "Go to Definition" to Open TypeScript Source

2 min read

Learn how to fix "Go to Definition" navigating to type declarations instead of source files in TypeScript projects.

Read more
Don't Blindly Use useTransition Everywhere

Don't Blindly Use useTransition Everywhere

15 min read

Let's take a closer look at useTransition and why the React Docs example might not be a great starting point for real-world UX.

Read more
How to Easily Reproduce a Flaky Test in Playwright

How to Easily Reproduce a Flaky Test in Playwright

5 min read

Stop playing whack-a-mole with flaky Playwright tests by using CPU throttling to reliably reproduce CI failures on your local machine.

Read more
Minimizing Risk: Properly and Safely Resolving CVEs in Your Dependencies

Minimizing Risk: Properly and Safely Resolving CVEs in Your Dependencies

10 min read

How to properly and safely update dependencies to resolve CVEs, while also gathering an understanding of how package managers handle dependencies.

Read more
TypeScript Tips: Safely Using includes With ReadonlyArrays

TypeScript Tips: Safely Using includes With ReadonlyArrays

5 min read

How to use includes on ReadonlyArrays while retaining type safety and narrowing down the type.

Read more