Bilel Abdelmoula

Home › Blog

OpenAI · Google Vision · Background jobs

Stop Making Users Wait for AI: 32 s → Under 1 s

By Bilel Abdelmoula ·

AI features are slow by nature: a model call can take seconds, and reading a scanned document takes longer. On a recruitment platform I built, candidates uploading a CV waited 32 seconds. The fix wasn't a faster model. It was not making the user wait for it at all.

The problem

The upload endpoint parsed the CV with Google Vision (OCR) and OpenAI before it answered. The candidate waited 32 seconds for a simple upload.

The fix: answer first, think later

  • The endpoint only saves the file and confirms the upload: under 1 second.
  • A background job runs Google Vision and OpenAI, then fills in the candidate profile.
  • The user can carry on straight away; the details appear when the job is done.

Why this pattern helps beyond speed

  • Sturdier requests: a slow AI call can't hold up the user's request.
  • Room to grow: background jobs can be retried or queued when traffic spikes.
  • Same pattern everywhere: I used AI to read travel documents on an events platform too.

Tips if you build this: store a status on the record (pending, done, failed) so the UI can show progress, and make the job safe to run twice in case of a retry.

The result

CV upload wait: 32 s → under 1 s. Together with database indexes, this was part of making the platform's slow endpoints 15× faster.

Got a slow or messy app?

I'm a remote full-stack developer (Xano, WeWeb, React, AI). A short call is enough to see if I can help.

More articles