Resume Screener

Live pipeline

Every resume goes through a pool of Go workers. Each worker embeds the resume, asks the AI to read it, and scores it. Change the number of workers below and watch the speed change. Updates every half second.

Connecting…

Waiting in queue

0 / 64

Being screened

0

Done (this run)

12

Per minute

0

Time per resume

46.8s p95 68s

AI server

closed

Workers

Retries: 0 · Failed: 0 · The AI server is shared, so more workers help until it is fully busy. After that, extra workers just wait.

Activity

    How it works

    1. 1. QueueUploads are saved in MySQL as "queued". A dispatcher fills a buffered channel. When it is full, the dispatcher waits (back-pressure).
    2. 2. WorkersEach worker is a goroutine. It takes the next resume, splits it into chunks and gets embeddings (numbers that capture meaning).
    3. 3. AI + safetyThe AI returns JSON that must match a schema. Failed calls retry with back-off. If the AI server keeps failing, a circuit breaker pauses all calls for 30 s.
    4. 4. Score + searchGo computes the score. The chunks are saved, so the chat can search every resume by meaning.