How sodium16/rg-hack-t07 works
This is a Streamlit lecture-to-revision-notes study app. A student supplies a lecture recording; the app validates and transcribes it, indexes transcript words and timestamps, then generates revision notes, key terms, and grounded answers. A verification layer locates quoted evidence in the transcript and gates what reaches the student; the UI presents the results, report, and timestamp-linked playback. The README documents these capabilities, while sampled source excerpts and the SOURCE INDEX support only some implementation links, so unsampled connections are omitted.
Main entry points: main.py Streamlit app · speech.py Speech transcription · notes.py Notes and terms · qa.py Grounded Q&A
Components 19
Student experience
- Streamlit app
main.py - CLI pipeline
app/pipeline.py
Audio and transcript
- Audio validation
app/audio.py - Speech transcription
app/speech.py - Speech cache
- Transcript index
app/transcript_index.py
Grounding and study content
- Notes and terms
app/notes.py - Grounded Q&A
app/qa.py - Evidence verification
app/verify.py - Safety and masking
app/safety.py
Shared services
- Foundry client
app/llm.py - HTTP transport
app/net.py - Language matching
app/language.py - Prompt schemas
app/prompts.py - Data contracts
app/models.py - Settings
app/config.py
Other components
- Student
- Azure Speech
- Azure Foundry
Connections 29
- Student → Streamlit app: uploads lecture
README.md - Streamlit app → Audio validation: validates audio
README.md - Streamlit app → Speech transcription: requests transcript
README.md - Audio validation → Speech transcription: hashes audio
app/audio.py - Speech transcription → Azure Speech: transcribes audio
README.md - Speech transcription → Speech cache: reads/writes cache
README.md - Speech transcription → Transcript index: produces transcript
README.md - Streamlit app → Transcript index: indexes transcript
README.md - Streamlit app → Notes and terms: requests notes
main.py - Streamlit app → Grounded Q&A: asks questions
main.py - Notes and terms → Foundry client: drafts content
app/notes.py - Grounded Q&A → Foundry client: drafts answers
app/qa.py - Foundry client → HTTP transport: sends requests
app/llm.py - HTTP transport → Azure Foundry: calls model API
- Notes and terms → Evidence verification: verifies quotes
app/notes.py - Grounded Q&A → Evidence verification: checks evidence
app/qa.py - Evidence verification → Transcript index: locates quotes
app/verify.py - Notes and terms → Transcript index: checks terms
app/notes.py - Grounded Q&A → Language matching: checks relevance
app/qa.py - Streamlit app → Safety and masking: scans transcript
main.py - Streamlit app → Student: shows verified results
README.md - CLI pipeline → Speech transcription: transcribes audio
app/pipeline.py - CLI pipeline → Notes and terms: generates notes
app/pipeline.py - CLI pipeline → Grounded Q&A: answers questions
app/pipeline.py - Notes and terms → Prompt schemas: formats prompts
app/notes.py - Grounded Q&A → Prompt schemas: formats prompts
app/qa.py - Speech transcription → Data contracts: builds transcript
app/speech.py - Streamlit app → Settings: loads settings
README.md - Foundry client → Settings: loads credentials
app/llm.py