Decoupling AI latency from user-facing responsiveness
LLM calls for resume scoring take 18 seconds and interview scoring up to 42 — unacceptable if a candidate has to wait on that during submission. All AI-heavy work was routed through RabbitMQ as asynchronous events, isolated in dedicated FastAPI workers with no shared state.
That kept synchronous, user-facing APIs under a 320ms P95 even while AI processing ran in the background, and let the AI workers scale independently of the transactional core. It was validated under stress testing at 4x target concurrent load — 200 simultaneous submissions, zero message loss.





