Articles

What I've learned building things.

Notes on backend systems, mobile development, infrastructure, and the decisions behind shipping software.

2025-09-11 · 5 min read

The Art of Saying No in Software Projects

When I first started building my own application, I was excited about every idea that popped into my head. Every feature felt essential, eve...

2025-09-11 · 5 min read

How Learning Entrepreneurship Changed My Approach to Software Projects

When I first started coding, my mindset was purely technical. My focus was on writing clean code, learning new frameworks, and solving probl...

2025-09-11 · 15 min read

Building a Complete Camera Experience in React Native with Expo

Mobile apps often need camera functionality beyond just taking a simple photo. Maybe you want to toggle flash, zoom in and out, switch betwe...

2025-09-10 · 7 min read

The Anatomy of a Project Killer: When Micromanagement Goes Wrong

Have you ever seen a project that feels like it's running on a treadmill? Developers are putting in the hours, sweating through deadlines, b...

2025-09-10 · 10 min read

Building a Resilient Scraper with RabbitMQ and RxJS

In this article, I’ll share how I built a resilient scraper system powered by RabbitMQ for message-driven orchestration and RxJS for concurr...

2025-09-09 · 5 min read

Understanding the Semaphore Mechanism in Concurrency Control

Concurrency is one of the most challenging aspects of system design. When multiple processes or threads attempt to access shared resources s...

2025-09-09 · 5 min read

Building a Self-Deploying Website Platform: What I Learned

Concurrency is one of the most challenging aspects of system design. When multiple processes or threads attempt to access shared resources s...

2025-09-09 · 5 min read

An Introduction to the CQRS Pattern

CQRS, which stands for Command Query Responsibility Segregation, is an architectural pattern that separates the process of changing applicat...

2025-09-05 · 15 min read

Understanding Dependency Injection in Express.js

Dependency Injection (DI) is a powerful design pattern that helps you create more flexible, testable, and maintainable applications.

2025-09-05 · 15 min read

React Native's Renaissance: Why the New Architecture Makes it the Top Choice for Cross-Platform Apps

For years, React Native has been a powerful tool for building cross-platform mobile applications. However, it's also faced its share of crit...

2025-08-05 · 15 min read

Scaling NestJS Applications with Microservices and RabbitMQ

Modern web applications face increasing demands for scalability, maintainability, and performance. As monolithic architectures reach their l...

2025-08-05 · 15 min read

Run a Cloud-Native App With Kubernetes

This post shares our high-level infrastructure patterns for running modern web apps at scale. It’s technology-specific enough to be useful, ...

2025-08-05 · 15 min read

Building a Bulletproof E-commerce Transaction Flow with NestJS and TypeORM

Handling transactions is the most critical part of any e-commerce application. A single bug can lead to lost revenue, incorrect inventory, a...