Handpicked

When Your State Management Needs to Stop Thinking in Actions and Start Mutating
Many state management libraries force you into an 'actions and reducers' pattern. While powerful, it often adds unnecessary boilerplate for simple updates. Sometimes, you just need to directly modify state, and mutators offer a more ergonomic and intuitive approach, especially for deeply nested data

When Next.js Cache Components Refuse to Build Your App
Next.js 16.3 introduced 'Cache Components' to optimize server-side rendering, but getting them to work can be a headache. I spent a frustrating afternoon debugging why a simple page wouldn't build, only to uncover some subtle yet critical design considerations. It turns out, this feature forces you

Vite: When Your Dev Server Needs to Be as Fast as Your Code
We've all been there: waiting for a dev server to spin up, or watching HMR take precious seconds to reflect a simple CSS change. It breaks flow, kills productivity, and makes you wonder if you should just switch to a static HTML file. Vite changed that for me, fundamentally altering how I think abou

Directus: When Your 'Headless CMS' is Really Just Your Database
Tired of syncing your database schema with your CMS? Directus flips the script, turning any SQL database into a powerful headless CMS and app builder. No more duplicating efforts, just a direct line to your data.

TypeScript Intersection Types: When They're Your Best Friend, and When They're Quietly Lying to You
Intersection types in TypeScript seem simple: combine two types. But what happens when those types have overlapping properties with different definitions? TypeScript won't always warn you, leading to silent failures that can be incredibly hard to debug. I'll show you when they work perfectly, when t

GrapesJS: Building a Custom Drag-and-Drop Editor for Your App, Not Just a Website
I've been down the road of building a drag-and-drop editor from scratch. It's a nightmare of state management, DOM manipulation, and edge cases. GrapesJS changes that by giving you a robust foundation to build *your* specific editor, not just a generic page builder.

When Your Frontend Accidentally Becomes a DDOS Attack
A seemingly innocent React change can sometimes unleash a storm of API requests, bringing down your backend. This isn't just about performance; it's about understanding how your UI choices translate to server load, and how a small oversight can have catastrophic effects.

ElectricSQL: When Your Database Needs to Live on the Edge, Offline-First
Building a truly offline-first application that feels instant, even with complex data, is a monumental task. ElectricSQL promises to make this a reality by extending your Postgres database directly to the client, keeping everything in sync and highly available.

Playwright: Beyond E2E Tests, Automating the Browser for Real Work
Playwright is excellent for end-to-end testing, but its true power lies in its ability to automate any browser task. I'm talking about scraping, generating reports, performing complex admin operations, or even stress-testing. If you can do it manually in a browser, Playwright can script it.


















