FastAPI follows the UNIX philosophy of "do one thing, and do it well". By using Starlette and Pydantic, FastAPI provides you with powerful tools to build a beautiful API. This gives you a lot of freedom to decide how you organize the rest of your codebase. The level of freedom also comes with some challenges once a codebase grows. In this talk we explore some of the common challenges in building FastAPI apps, and share how we solved them: 1. Minimizing the global state with dependency injection 2. Reducing the complexity of testing a FastAPI app 3. Pitfalls of async FastAPI 4. Supporting multiple authentication schemes 5. Modeling the relations between patch, response, and database models https://2022.pycon.sk/sk/speakers/Maarten%20Huijsmans.html