← All case files

Case file 012Lecture vault

The problem

“I know we talked about this in the lecture. But where was it?”

Solved

For
Students with hours of recorded lectures
Built
IlmBase: transcribe, search by meaning, jump to the moment
Stack
React · Supabase · Whisper on Groq · Jina embeddings · pgvector
Result
Number to confirm
Before: the night before the exam, scrubbing for one sentence3D pixel film · made by me

01 · The pain

The answer is in there. Somewhere.

  • A two-hour recording and one sentence you need from it.
  • Dragging the slider back and forth, listening for the right word.
  • The night before the exam spent re-watching instead of revising.

02 · The fix

Search a transcript. Find the moment it was said.

Three sample lectures. Search a word and every moment it was said appears with its time. The real vault also matches by meaning, which this demo doesn’t try to fake.

Sample lectures available for search

  • Photosynthesis
  • Climate Systems
  • Cellular Biology

Try a search above

03 · How it works

Three steps, and semantic search that knows what you meant.

  1. Upload a lecture

    Upload the audio. Whisper writes it out in short segments, each with the second it starts, in English, Urdu and other languages.

  2. Ask in your own words

    Every few segments become one searchable chunk, stored as meaning, not just words. A question finds the part that answers it, even if the lecturer phrased it differently.

  3. Jump to that timestamp

    Each result carries its start time, so it opens the recording at that moment. The same chunks also feed a chat, summaries and flashcards.

The hard part

Searching by meaning, without losing the clock.

Meaning search works on chunks of text, but a chunk on its own has no idea where it sits in the recording. An answer with no time is just another reason to scrub.

So chunks are built from Whisper’s timed segments, five at a time, and each one keeps the start time of its first segment. The question is turned into the same kind of vector, the closest chunks come back, and every one of them already knows where to start playing.

One chunk = five timed segments

content:    "…gases like CO2 trap heat…"
start_time: 1834  // its first segment
embedding:  1,024 numbers

04 · What changed

Finding the answer became searching, not replaying.

Time to find an answer
—
Lectures in the vault
—
Students using it
—

Blanks: metrics to confirm.