Async AI Pipelines in FastAPI: Streaming, Queuing, and Long-Running RequestsThe document extraction endpoint was synchronous. A request came in, the service sent the document to OpenAI, waited for the full response, parsed it, wrote to the database, and returned. Each requestSep 27, 2026·5 min read
Managing State, Secrets, and Environments in TerraformS01E03 of Terraform for Application EngineersSep 11, 2026·6 min read·13
Structuring OpenAI and Gemini Calls in FastAPI: Prompts, Fallbacks, and RetriesThe fallback was supposed to be temporary. When the OpenAI API was unavailable, the service would return the last cached result for that user rather than failing the request. Clean degraded experienceSep 8, 2026·7 min read·12
PostgreSQL Connection Pooling on Cloud Run: The Problem Nobody Warns You AboutCloud Run scales horizontally. That's the point. Under load, it spins up new instances automatically — each one handling concurrent requests, each one maintaining its own connection pool to your CloudSep 1, 2026·6 min read·43
Building AI-Powered Backend Services: Why Most Integrations Break in ProductionThe integration looked solid. In testing, the AI-powered document extraction service worked exactly as designed — pull a PDF, send it to the model, parse the structured output, write to the database. Aug 22, 2026·4 min read·27
How I Structure a FastAPI Project for a Team of 5The first FastAPI project I led for a team had everything in two files. main.py with the routes. models.py with the Pydantic schemas. It worked fine until a second engineer joined and we started steppAug 18, 2026·6 min read·17
Terraform Modules That Don't Break When Your Team GrowsSix months into a project, our main.tf was 800 lines long. Every resource — Cloud Run services, Pub/Sub topics, Cloud SQL, Redis, IAM bindings, secrets — lived in one file. Nobody wanted to touch it. Aug 11, 2026·5 min read·15