Backend Engineer

Building distributed systems
and documenting the
engineering behind them.

I'm Yash Chauhan, a backend engineer passionate about distributed systems, cloud-native infrastructure, and scalable software architecture. This website documents the systems I've built, the architectural decisions I made, the trade-offs I encountered, and the lessons learned while building production-inspired software.

Engineering Work

Engineering Case Studies

A collection of production-inspired backend systems, distributed architectures, cloud-native applications, and software engineering projects. Each case study documents the problem, architecture, engineering decisions, implementation details, and lessons learned throughout the development process.

TradeFlux

Distributed SystemsJul 2026 – Aug 20262 monthsCompleted

Cloud-native trading infrastructure simulation built with event-driven microservices, Kafka, and observability tooling.

JavaSpring BootKafkaPostgreSQLDocker
Read engineering case study →

Distributed URL Shortener

Distributed SystemsJun 2026 – Jul 20262 monthsCompleted

Production-inspired distributed URL shortening platform designed around scalable microservices, event-driven communication, caching, rate limiting, and cloud-native deployment.

Java 21Spring BootSpring CloudApache KafkaRedisPostgreSQLDockerKubernetes
Read engineering case study →

Real-Time Ad Bidding System

Distributed SystemsJun 2026 – Jul 20262 monthsCompleted

Low-latency bidding engine built with Kafka and distributed microservices.

Spring BootKafkaRedis
Read engineering case study →

Distributed Workflow Engine

Distributed SystemsMay 2026 – Jun 20262 monthsCompleted

Workflow orchestration engine with event-driven execution.

JavaSpring BootKafka
Read engineering case study →

SafarSaathi

AI Systems • Distributed SystemsMay 2026 – Jun 20262 monthsCompleted

AI-native travel platform built with cloud-native microservices, event-driven architecture, and an intelligent orchestration service that provides context-aware travel assistance.

JavaSpring BootSpring AIKafkaPostgreSQLDockerKubernetesGoogle Gemini
Read engineering case study →

Intelligent Supply Chain

Distributed SystemsApr 2026 – May 20262 monthsCompleted

AI-assisted logistics and inventory optimization platform.

JavaSpring BootPostgreSQLKafka
Read engineering case study →

Distributed Streaming Platform

Distributed SystemsMar 2026 – Apr 20262 monthsCompleted

Kafka-powered event ingestion and real-time data processing platform.

JavaSpring BootKafkaRedisDockerKubernetes
Read engineering case study →

PayPal Backend Clone

Distributed SystemsFeb 2026 – Mar 20262 monthsCompleted

Production-ready payment backend with event-driven settlement and distributed transactions.

JavaSpring BootKafkaRedisMySQL
Read engineering case study →

Distributed Reddit Backend

Distributed SystemsJan 2026 – Feb 20262 monthsCompleted

Scalable Reddit-style backend featuring nested comments, voting, feeds, and community-driven discussions.

JavaSpring BootPostgreSQLRedisKafka
Read engineering case study →

Engineering Notes

Latest Engineering Notes

Articles on backend engineering, distributed systems, cloud-native architecture, databases, messaging systems, and software design.

CI/CD Explained

Learn how Continuous Integration and Continuous Delivery automate software builds, testing, and deployments to improve development speed and reliability.

Cloud & DevOps14 min read

Kubernetes Explained

Learn how Kubernetes automates container deployment, scaling, self-healing, and orchestration for modern cloud-native applications.

Cloud & DevOps15 min read

Docker Explained

Learn how Docker packages applications into containers, why containers are different from virtual machines, and how Docker simplifies development and deployment.

Cloud & DevOps13 min read

Saga Pattern Explained

Learn how the Saga Pattern manages distributed transactions across multiple microservices without relying on traditional two-phase commit protocols.

System Design15 min read

CQRS Explained

Learn how Command Query Responsibility Segregation (CQRS) separates read and write operations to improve scalability, performance, and maintainability in distributed systems.

System Design14 min read

API Gateway Explained

Learn how API Gateways simplify microservice communication by handling routing, authentication, rate limiting, request aggregation, and security.

System Design13 min read

Load Balancers Explained

Learn how load balancers distribute traffic, improve availability, eliminate single points of failure, and enable modern distributed systems to scale efficiently.

System Design14 min read

Database Sharding Explained

Learn how database sharding enables horizontal scalability, distributes data across multiple servers, and helps backend systems handle millions of users efficiently.

Databases13 min read

Database Indexing Explained

Learn how database indexes improve query performance, how B-Tree indexes work, and the trade-offs every backend engineer should understand before adding an index.

Databases14 min read

Kafka Partitions Explained

Understand how Kafka partitions enable horizontal scalability, message ordering, fault tolerance, and parallel event processing in distributed systems.

Messaging12 min read

Kafka Consumer Groups Explained

Learn how Kafka Consumer Groups enable horizontal scalability, fault tolerance, and parallel event processing in modern distributed systems.

Messaging12 min read

How Redis Makes a URL Shortener Fast

A practical look at using Redis in a distributed URL shortener to reduce database load, improve redirect latency, handle cache misses, and design an efficient cache-aside strategy.

Distributed Systems10 min read

PostgreSQL vs MongoDB

Comparing relational and document databases, their trade-offs, and when to choose PostgreSQL or MongoDB for production systems.

Databases9 min read

Redis Is More Than a Cache

Understanding how Redis is used for caching, distributed locking, pub/sub, rate limiting, and session management in modern backend systems.

Databases8 min read

Why Kafka over RabbitMQ?

A practical comparison between Kafka and RabbitMQ, covering architecture, scalability, ordering guarantees, throughput, and when each technology should be used.

Messaging10 min read