The Pensieve

Handpicked

Page 5 of 13
When Your State Management Needs to Stop Thinking in Actions and Start Mutating
7 min readAug 21, 2026

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

FrontendSoftware DesignReact
Read blog post
When Next.js Cache Components Refuse to Build Your App
8 min readAug 20, 2026

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

Next.jsFrontendWeb Development
Read blog post
Vite: When Your Dev Server Needs to Be as Fast as Your Code
7 min readAug 19, 2026

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

FrontendWeb DevelopmentTooling
Read blog post
Directus: When Your 'Headless CMS' is Really Just Your Database
8 min readAug 18, 2026

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.

BackendDatabaseAPI
Read blog post
TypeScript Intersection Types: When They're Your Best Friend, and When They're Quietly Lying to You
10 min readAug 17, 2026

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

TypeScriptSoftware DesignFrontend
Read blog post
GrapesJS: Building a Custom Drag-and-Drop Editor for Your App, Not Just a Website
10 min readAug 16, 2026

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.

FrontendToolingSoftware Design
Read blog post
When Your Frontend Accidentally Becomes a DDOS Attack
9 min readAug 15, 2026

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.

FrontendPerformanceSoftware Design
Read blog post
ElectricSQL: When Your Database Needs to Live on the Edge, Offline-First
8 min readAug 14, 2026

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.

DatabaseFull-StackDistributed Systems
Read blog post
Playwright: Beyond E2E Tests, Automating the Browser for Real Work
7 min readAug 13, 2026

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.

AutomationTestingTooling
Read blog post
Available for projectsReady to make something fun 🎈

Ready to build the next system?Wanna build something awesome together?

Currently accepting high-impact opportunities in frontend engineering and scalable web applications.Got a cool idea rattling around? Let's grab a virtual coffee and turn it into something people love. ☕