Notebook

Reflections on design, code, and the lessons learned while building things that last.

How I Scaled Our Chat App to Handle 10k Concurrent Users with Ease

Every developer working on real-time applications knows the thrill of watching user numbers climb — and the anxiety that comes with it when systems start straining. That's exactly what happened when I took on the challenge of building a chat application...

System DesignWebSocket
Nov 17, 2024
How I Scaled Our Chat App to Handle 10k Concurrent Users with Ease

Building for Resilience: How I Built a Chat Application's Infrastructure to Support Seamless Communication at Scale

In today's hyper-connected world, real-time communication powers everything from personal connections to business workflows, making resilience in chat applications more critical than ever...

Node.jsWebSocketRedisMicroservice
Nov 6, 2024
Building for Resilience: How I Built a Chat Application's Infrastructure to Support Seamless Communication at Scale

Step-by-step process of how I built a movie recommendation system using Python

If you're curious about how recommendation systems work and want to try building one yourself, this article breaks down a practical, five-step process using Python...

Python
Mar 9, 2025
Step-by-step process of how I built a movie recommendation system using Python

Why You Should Learn System Design

It's almost certain that if you fail to improve on learning and mastering the core aspects of software engineering, like system design, and continue to leverage your skills in the direction of these fundamentals, you will be left significantly behind...

System Design
Aug 8, 2023
Why You Should Learn System Design

Back To Basics: Tiers in Software Architecture

The architecture upon which a business constructs its application has a substantial impact on its success or failure in software engineering. This seems obvious until you have to be the person making the choice for a million-dollar project from the beginning...

Software Engineering
Jun 27, 2023
Back To Basics: Tiers in Software Architecture

5 Software Patterns You Should Know As a Software Engineer — Part 1

We are currently in an exciting new era of technology, where software-defined systems have revolutionized the way we live and work. With digitalization enabling us to connect more easily than ever before and cloud hosting making it possible for us to access data from anywhere, we are on the cusp of a new age of innovation...

Software Engineering
Jul 18, 2023
5 Software Patterns You Should Know As a Software Engineer — Part 1

Real-Time Reliability: Using Client-Server Heartbeats to Ensure Consistent Online Status in A Chat App

When I set out to build my chat application, handling real-time interactions for a large user base was always part of the plan. But as I pushed the boundaries during testing, simulating thousands of users online simultaneously, new challenges emerged...

Node.jsWebSocketRedis
Nov 20, 2024
Real-Time Reliability: Using Client-Server Heartbeats to Ensure Consistent Online Status in A Chat App

Mastering JavaScript Loops: From For to While (and When to Use Each)

It was past midnight, and I told myself I'd just fix one small thing before shutting down for the night...

JavaScript
Aug 15, 2025
Mastering JavaScript Loops: From For to While (and When to Use Each)