FastAPI Day 2: ASGI Changed Everything — Understanding Event Loops & Concurrent Requests

ASGI Changed Everything — Understanding Event Loops & Concurrent Requests Most developers learn async backwards. They start with: async def hello(): without understanding: what problem async solves why event loops exist what concurrency actually means FastAPI only makes sense once you understand the engine underneath it. And that engine is ASGI. The Real Problem Was Never Speed This is the first mental model to fix. Async is not primarily about making your code execute faster. ...

May 9, 2026 · 4 min · Nitin S Kulkarni

FastAPI Day 1: FastAPI Exists Because WSGI Couldn’t Scale Modern APIs

FastAPI Exists Because WSGI Couldn’t Scale Modern APIs You think FastAPI became popular because it is “fast.” That is not the real reason. FastAPI exists because the old Python web architecture was reaching its limits. To understand FastAPI, you first need to understand the problem it was trying to solve. Before FastAPI: The WSGI World For years, Python web applications were built using: Flask Django Pyramid Most of them relied on something called: ...

May 8, 2026 · 3 min · Nitin S Kulkarni

Python Day 10: Python Is Not Parallel — Concurrency, Threads & Async Explained

You think Python runs things in parallel. Most of the time, it doesn’t. Today, you understand how Python handles concurrency, why it behaves the way it does, and how async actually works. Today’s Goal By the end of today, you will: Understand concurrency vs parallelism Learn about threads and the GIL Understand async/await internals Know when to use threading vs async vs multiprocessing The Illusion import threading def task(): print("running") threading.Thread(target=task).start() You think: ...

May 2, 2026 · 3 min · Nitin S Kulkarni