Engineering Blog

Deep dives into software engineering, system design, and the occasional rant about development tooling.

React Sep 12, 2023

Optimizing React Re-renders

A comprehensive guide to understanding when React components update, why it matters for performance, and how to use useMemo effectively.

Tooling Aug 28, 2023

Why I switched to Neovim

After years of VS Code, I decided to take the plunge into the terminal-based editor. Here is what I learned and my config.

Read more
System Design Aug 10, 2023

Understanding the CAP Theorem

Consistency, Availability, Partition Tolerance. You can only pick two. Let's break down what this actually means for your database.

Read more
CSS Jul 15, 2023

Tailwind vs. Styled Components

A pragmatic look at utility-first CSS frameworks compared to CSS-in-JS solutions in modern React applications.

Read more
DevOps Jun 02, 2023

Dockerizing a Node App

Step-by-step guide to creating a production-ready Dockerfile for your Node.js backend services.

Read more