Blog

Notes on building software

Practical write-ups on Node.js, React, Next.js, TypeScript, architecture, and performance. Separate from the client work on this site.

Event-Driven Architecture: CQRS and Event Sourcing Explained
Software Architecture
Mar 22, 202614 min read

Event-Driven Architecture: CQRS and Event Sourcing Explained

A practical guide to event-driven architecture for scalable systems. Learn how Command Query Responsibility Segregation (CQRS) and event sourcing decouple writes from reads and create audit-ready domain models.

#Event-Driven Architecture#CQRS#Event Sourcing
Read article →
Node.js Worker Threads: Offloading CPU-Intensive Work
Node.js
Apr 2, 202611 min read

Node.js Worker Threads: Offloading CPU-Intensive Work

Node.js is single-threaded by design, but Worker Threads let you parallelize CPU-heavy tasks without blocking the event loop. Learn when to use workers, how to structure thread pools, and how to avoid common pitfalls.

#Node.js#Worker Threads#Event Loop
Read article →
GitHub Actions: Building Production-Grade CI/CD Pipelines
Cloud & DevOps
Apr 10, 202613 min read

GitHub Actions: Building Production-Grade CI/CD Pipelines

From lint and test to staged deployments and rollback strategies, learn how to design secure, fast GitHub Actions workflows for Next.js and Node.js applications in production environments.

#GitHub Actions#CI/CD#DevOps
Read article →
React Server Components: A Deep Dive into the Hybrid Model
React.js
Apr 18, 202612 min read

React Server Components: A Deep Dive into the Hybrid Model

React Server Components blur the line between server and client rendering. Understand the RSC payload, serialization boundaries, and how to architect apps that ship less JavaScript without sacrificing interactivity.

#React Server Components#RSC#React 19
Read article →
Optimizing Largest Contentful Paint (LCP) for Faster Pages
Performance
Apr 25, 202610 min read

Optimizing Largest Contentful Paint (LCP) for Faster Pages

LCP measures when the largest visible content element renders. Learn diagnostic techniques, image optimization strategies, and server-side fixes that move your Core Web Vitals from red to green.

#Largest Contentful Paint#LCP#Core Web Vitals
Read article →
Next.js App Router: Partial Prerendering and Streaming Explained
Next.js
May 2, 202611 min read

Next.js App Router: Partial Prerendering and Streaming Explained

Next.js 15+ combines static shells with dynamic islands through Partial Prerendering (PPR). Learn how PPR, streaming, and the App Router change how you architect fast, personalized pages.

#Next.js#App Router#Partial Prerendering
Read article →