Lecture video goes in. What comes back is the passage that answers you, and the minute it was said.
Recorded engineering lectures in Mandarin are transcribed, cut into passages and indexed by meaning rather than by keyword, so a question finds the right moment even when it shares no words with the transcript. Ask in Russian, English or Chinese. The answer is written from the retrieved passages and nothing else, and every passage it used stays on screen with its timecode.
The file lands on disk and a row appears in the queue.
An upload is written to disk under a name built from its own job id, then a row goes into the jobs table with status queued. Nothing runs yet. A worker on a machine with a GPU polls that table and claims the row inside a transaction, so two workers can never take the same job.
faster-whisper reads the audio and returns segments, each carrying its own start and end in seconds. Those timecodes survive every stage that follows, which is why an answer can point at the minute a claim was made instead of at a file.
Segments are merged up to a token target rather than split on a fixed character count, and neighbouring passages share a tail. Without the overlap a thought that straddles the boundary is lost to both sides. Each passage inherits the start of its first segment and the end of its last.
Every passage is embedded with BGE-M3 and stored in pgvector. A question is embedded the same way, so retrieval measures distance in that space rather than matching words. This is what lets a Russian question find a Mandarin passage that shares no vocabulary with it.