Skip to content

Verbalize is an automated oral defense platform that verifies student comprehension via voice calls. Move beyond syntax grading by having students verbally defend their code logic and design choices over the phone.

Notifications You must be signed in to change notification settings

acm-projects/Verbalize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 

Repository files navigation

Verbalize πŸŽ™οΈ

Grading code submissions often fail to reveal whether a student truly understands the underlying concepts or merely submitted an AI generated solution. Capture the full picture of student learning with Verbalize! Designed for professors, Verbalize is a web-based automated oral defense platform where students verbally explain their code logic and design choices through voice calls. It analyzes their answers to verify deep comprehension, ensuring grades reflect conceptual understanding rather than just working syntax.

MVP πŸ†

  • User Authentication with Signup/Signin
  • File upload system
  • Database integration for code submissions
  • Question generation
  • Notification and call system with Twilio
  • Confidence score calculation

Stretch Goals πŸš€

  • Anti cheating system during calls
  • Conversational agent that clarifies on responses
  • ElevenLabs integration

Timeline πŸ—“οΈ

Week Frontend Tasks Backend Tasks
Week 1
  • Discuss overall tech stack & UI designs
  • Start Low-to-High Fidelity UI designs
  • Research Next.js and Tailwind CSS
  • Finalize tech stack (Supabase/PostgreSQL)
  • Initialize Next.js API routes
  • Explore APIs using Postman
Week 2
  • UI design basics review
  • Flesh out Professor workflow
  • Figma Design due by end of week
  • Plan database schema (Professors, Classes, Submissions)
  • Implement Supabase Auth for professors
  • Establish working database connection
Week 3-4
  • Code Login/SignUp pages
  • Class Creation page
  • Assignment Creation page (Title/Description)
  • Route to insert student data into DB
  • File parsing (extract NetID and code)
  • Generate 4-digit unique PINs for students
  • Supabase storage setup for code submissions
Week 4-5
  • Drag-and-drop UI for student ZIP folders
  • Input validation for title/description
  • Handle upload state and loading UI
  • Prompt engineering for question generation (3-5 questions)
  • Difficulty scaling (Recursion, Runtime, Class Purpose)
  • Optimization: Pre-generate question pool & pick random subsets
Week 5-6
  • Student list view for assignments
  • Dropdowns for transcripts and recordings
  • Add Status Column (Pending, Called, Graded)
  • Twilio SendGrid email notification system
  • Twilio phone number setup
  • Call system: PIN verification & TwiML
  • Record student audio responses
Week 7-8
  • Analytics Page: Chart.js for score distribution
  • Final frontend/backend integration
  • Stretch goal implementation
  • Integrate Gemini for confidence scoring
  • Process Twilio STT transcripts
  • Stretch goal implementation
Week 9-10
  • Presentation Night Prep πŸŽ‰
  • Presentation Night Prep πŸŽ‰

Tech Stack & Resources πŸ’»

Frontend
Backend
Full Stack
Developer Tools

Roadblocks & Possible Solutions 🚧

  • Question generation for each student may take too long

    • Use Groq to ensure fast response times
    • Generate around 20 questions at once and choose a random subset of questions for each student at the cost of personalization
  • Follow up for certain questions

    • Confidence Threshold Loop: If responses don't satisfy a certain threshold, generating follow up questions based on students' responses may be time consuming.
    • For each question, generate follow up questions beforehand based on response categories such as deep, vague, incorrect, etc.
  • Either the frontend or backend team is falling behind

    • If this happens, the best course would be to get some assistance from the other side until caught up.

Competitors βš”οΈ

  • Verbal Check (Oral plagiarism detector, no code-specific grading)
  • MOSS (Only checks similarity between submissions)
  • TurnItIn/ZeroGPT (Does not work for code)

Git Cheatsheet πŸ““

Command What it does
git init Initalize a new Git repo
git clone "rep-url" Clone a repo from a URL
git status Show changes status
git add "file" Add changes to staging, use "." for all
git commit -m "Descriptive Message" Commit changes with a message
git push Upload local repo content to a remote repo
git log View commit history
git branch Lists all the branches
git branch "branch-name" Create a new branch
git checkout "branch-name" Switch to a branch
git checkout -b "branch-name" Combines the previous 2 commands
git merge "branch-name" Merge changes from a branch
git branch -d "branch-name" Delete a branch
git push origin "branch-name" Push to branch
git pull origin "branch-name" Pull updates from a specific branch
git pull Fetch and merge changes
git fetch Fetch changes without merging
git reset --hard HEAD Discard changes
git revert Revert changes in a commit

Team πŸ‘₯

  • Harshitha Mahesh
  • Lidegee Xi
  • Rupesh Senthil
  • Huy Nguyen
  • Sunay Shehaan - Project Manager
  • Bryce Duncan - Industry Mentor

About

Verbalize is an automated oral defense platform that verifies student comprehension via voice calls. Move beyond syntax grading by having students verbally defend their code logic and design choices over the phone.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published