blog

My thoughts on software development, life, and more.

How CDNs Work: The Real-World Magic Behind Every Fast App

September 21, 2025

From Gemini to CI/CD: Building and Testing a RAG API with FastAPI and GitHub Actions

August 31, 2025

How Large-Scale Systems Check If a Username or Email Exists

July 13, 2025

Load Balancing Multiple Node.js Containers with Nginx + Docker

June 10, 2025

Reverse Proxy with Nginx for a Node.js + TypeScript Backend (with Docker)

May 29, 2025

GitHub Authentication Using SSH: Why You Should Use It

March 31, 2025

Understanding CSRF and How to Secure Your Express + TypeScript Server

February 6, 2025

Understanding the JavaScript Event Loop: A Deep Dive

February 3, 2025

Event-Driven Architecture in MERN: Using RabbitMQ for Asynchronous Communication

January 26, 2025

Implementing Rate Limiting in an Express + TypeScript Server

January 21, 2025