← All work
Client · Data Industry · 2026

Validation Microservice

An asynchronous FastAPI validation service built for a B2B data client, designed to process large validation batches reliably under real-world API constraints.

FastAPIPythonasyncioAWS EC2NginxGunicorn

The problem

The client needed to validate large volumes of records against multiple external services in real time. Their previous workflow relied heavily on manual checks and inconsistent scripts, which became increasingly unreliable as data volume grew. The system also had to respect strict third-party API rate limits while remaining responsive under concurrent load.

Key decisions

FastAPI and asyncio for I/O-bound workloads

The workload spent most of its time waiting on external HTTP responses, making asynchronous execution the natural fit. FastAPI and asyncio allowed the service to process many outbound requests concurrently without introducing unnecessary infrastructure complexity.

Proactive concurrency control

Rather than reacting to API throttling after failures occurred, I implemented semaphore-based concurrency limits using asyncio. This allowed the service to stay within external rate limits consistently while still processing batches efficiently.

Production-oriented deployment architecture

The service was deployed on AWS EC2 behind Nginx and Gunicorn using a conventional production deployment pattern. Nginx handled SSL termination and reverse proxying while Gunicorn managed worker processes for reliability and operational stability.

Outcome

The system was deployed successfully and handled the client’s workload reliably in production. The client CTO reviewed the implementation directly and specifically praised both the architecture and code quality.

What I learned

This project reinforced how important predictable behavior becomes once software interacts with unreliable external systems. Much of backend engineering is less about ideal-case logic and more about handling retries, rate limits, partial failures, and inconsistent upstream behavior gracefully.