Inspiration
Written work does not always show whether a student truly understands it. VivaTrace was inspired by oral defenses, which reveal understanding effectively but are difficult to run consistently at scale.
What it does
VivaTrace helps teaching assistants create rubric-based oral interviews. It reviews assignment materials, supports multiple student submissions, conducts adaptive voice interviews, asks clarification and code questions, and produces a read-only transcript and evidence-based report.
How we built it
We used Next.js, TypeScript, Supabase, and OpenAI. Supabase handles authentication, storage, and interview data, while OpenAI supports plan generation, realtime voice interaction, transcription, answer evaluation, and follow-up questions.
Challenges we ran into
The main challenges were detecting when students had finished speaking, handling clarification without counting it as an answer, reducing response latency, processing different file formats, and keeping interview state consistent during temporary service failures.
Accomplishments that we're proud of
VivaTrace asks follow-up questions based on the student’s actual answer and rubric. It also supports code walkthroughs, multiple students per assessment, immutable transcripts, and reports that connect conclusions to evidence.
What we learned
Natural voice interviews require more than fast audio. Good turn-taking, context handling, reliable state management, and clear boundaries between AI suggestions and human assessment are equally important.
What's next for VivaTrace
Next, we plan to improve scalability, add LMS integration, support more submission formats and languages, and provide better class-level analytics for teaching teams.
Built With
- codex
- next.js
- openaiapi
- postgresql
- supabase
- typescript
- webrtc
Log in or sign up for Devpost to join the conversation.