Supabase not configured. Login will not work until the server has SUPABASE_URL and SUPABASE_ANON_KEY set. On Render: Dashboard → your service → Environment → add these variables, then redeploy.
Your evaluation content may be used to improve the speech assessment model. This supports research and product improvement while keeping data anonymized where used for training.
Files over 50 MB will be automatically compressed. Very large files may take longer to process.
Bulk Upload Multiple Videos
Upload multiple student videos at once. You'll match each video to a student before processing.
Select the course for all videos in this batch.
All videos will be evaluated using this rubric.
The assignment type for all videos in this batch. You can process different assignments in separate batches.
💡 Tip: If you have videos for multiple assignments, process them in separate batches. Upload all videos for one assignment type (e.g., all Informative Speeches), match them to students, then process. Repeat for each assignment type.
Upload Multiple Videos
Click or drag & drop multiple video files here
You can select multiple files at once
Or upload organized folders:
If you have folders organized by student (each folder contains multiple videos), you can upload the entire folder structure
0 file(s) selected
Match Videos to Students
Select the student for each video. All videos will be processed with the same rubric and assignment type.
Video File
Size
Student *
Status
Actions
Processing Videos
Overall Progress0 of 0
Processing...
Starting evaluation...
Video
Student
Status
Processing Complete
0
Successful
0
Failed
0
Total
Video File
Student
Status
Actions
Evaluating Speech
Analyzing content and delivery
Uploading file
Transcribing speech
Analyzing content and delivery
Calculating scores
Estimated time remaining: Calculating...
Uploading file0%
0 MB / 0 MB
Evaluation saved
Save Evaluation
Upload Roster
Upload a CSV or Excel file. Required columns: First Name and Last Name (or a single Name column). Optional: Email, Student ID.
Drop file here or browse
CSV or Excel (.xlsx, .xls) — max 5MB
Move
Move this evaluation to a different class and/or student. This is useful if an evaluation was accidentally saved to the wrong student.
Edit
/ (Auto-calculated from subcategories)
Edit Overall Comments
Edit Timeline Markers
Instructor Corrections History
This log shows all changes made to the AI's evaluation. This data helps improve future evaluations.
Courses
Rubrics
Create Custom Rubric
Import Rubric from File
How it works:
Upload a PDF, image, Excel spreadsheet, or Word document of your rubric (including blank rubrics—PNG, PDF, Google Sheets exported as XLSX/CSV), and AI will extract the categories, criteria, and point values to create a digital rubric. You can also create rubrics manually in Dashboard → Rubrics.
Course Insights
to
Overview
Loading analytics…
Comparison data will appear here...
Evaluation list will appear here...
0 evaluations
Date
Student
Course
Instructor
Score %
Rubric
Assignment Type
Load data to see preview
Exports only include evaluations from students who have granted data-use consent. Column filters (▾) apply to the export. Export CSV
Evaluation costs are automatically tracked when evaluations run. Infrastructure costs (Modal, Supabase, Render, etc.) can be tracked separately in a spreadsheet or billing tool.
Cost by User Tier
Tier
Evaluations
Total Cost
Cost/Eval
% of Total
Cost by Institution (Top 10)
Institution
Evals
Cost
Cost/Eval
Revenue
Energy & Carbon
Estimates based on published model benchmarks. Last updated .
Choose which tabs appear in the dashboard bar: Show / Hide to toggle, ↑↓ to reorder. To change which cards appear on a tab, close this and click Edit cards on that tab.
Edit Overview cards
Choose which cards appear on this tab: Remove / Add to hide or show a card, ↑↓ to reorder. Changes are saved automatically.
All Institutions
Select filters to view courses
Course Name
Code
Instructor
Institution
Term/Year
Modality
Students
Evaluations
Actions
Department Courses
Loading department courses...
Course Name
Code
Instructor
Term/Year
Modality
Students
Evaluations
Actions
Create New Class
Edit Course
Course Color
Move Students
Move students from this course to another course. This will transfer all selected students to the target course.
Loading students...
Settings
Appearance
University or theme selection (light interface only)
Account Settings
Manage your account and password
Change Password
Update your password to keep your account secure.
Reset Password via Email
If you've forgotten your password, we can send you a reset link via email.
Report an Error
Encountered a problem? Report it to help us improve the application.
Consent Management
Generate unique consent links for students and manage data use consent
Generate unique consent links for students. Email each student their link; when they open it and submit, their response is saved in the database.
One consent covers: grading, platform and AI improvement, research, and potential sharing or licensing of data to third parties. Students who do not consent can still be evaluated; their data stays on your device only.
Student
Email
Status
Consent link
Actions
Error Reports
View the status of errors you've reported and report new issues
Report an Error
Encountered a problem? Report it to help us improve the application.
Your Reported Errors
Here you can see all the errors you've reported and track their status. When an administrator updates the status or resolves an issue, you'll see it here.
Loading your error reports...
Usage & Quota
View your evaluation usage and quota limits
Loading usage information...
Current Plan
Usage This Month
Quota Status
Department Buffer Pool
Recent Usage
Date
Evaluations
Cost
Provider
Error loading usage information.
Institution Management
Create and manage institutions
Create New Institution
Add a new institution so you can assign users and create themes for it.
User Management
Approve users and manage roles
Pending User Approvals
Review and approve or reject pending user account requests.
Loading pending users...
Department Instructors
View and manage instructors in your department.
Click "Refresh Instructors" to load your department's instructors...
User Management
Manage user account tiers and research partner access.
Click "Refresh Users" to load user list...
Invite New Research Partner
Data Management
Manage data exports, recovery, and deletion scope
Qwen Service URL
Set your SpeechGradebook Text + Video Model (Qwen) service URL. Qwen runs on Modal (serverless GPU). Set QWEN_API_URL on Render to your Modal URL. See RECOMMENDED_SETUP.md for setup instructions.
Set this to your Modal URL (e.g. https://yourname--qwen-speechgradebook.modal.run). See llm_training/QWEN_MODAL_SETUP.md for deployment instructions.
Use case: Rubric extraction from PDF/images, video analysis (body movement, eye contact) Setup: Deploy Qwen on Modal and configure the service URL. A new training method is being set up to replace the previous ISAAC-based workflow.
Note: The previous ISAAC-based training workflow is no longer in use. A new training method is being configured. For now, use Modal for Qwen service deployment. See llm_training/QWEN_MODAL_SETUP.md for current setup instructions.
Can't connect to the Modal URL? (1) Verify your Modal deployment is running and accessible. (2) Use Check Qwen status above to verify connectivity. (3) If the app runs on Render, set QWEN_API_URL in Render dashboard environment variables and redeploy so the app uses the correct URL.
Recover Deleted Items
Restore students, evaluations, or courses you removed with Delete/Remove (does not recover items permanently deleted by a super admin).
LLM Training Data ExportSuper Admin
Export consented evaluations to train the SpeechGradebook Text Model (Mistral) and the SpeechGradebook Text + Video Model (Qwen).
Qwen (Video model)
SpeechGradebook Text Model (Mistral)Backup
Transcript + video notes. Save the downloaded file as exported.json in your repo root.
See llm_training/DUAL_MODEL_TRAINING.md for full training instructions.
Optional Qwen exports
Comparison pairs: same student, two speeches. Correction pairs: AI vs instructor scores. See llm_training/COMPARISON_AND_CORRECTIONS_TRAINING.md.
Training Method Update
The previous ISAAC-based training workflow is no longer in use. A new training method is being configured. For now, export the data above and refer to TRAINING_REQUIREMENTS.md for training setup options.
When you delete data, choose where the deletion applies. Admins and Instructors always delete only from SpeechGradebook (local). Super Admins can choose per entity.
These settings apply only to your own delete actions as Super Admin. They are stored in this browser.
Monitoring & Analytics
Track costs and system health
Cost Tracking
Monitor GPU costs for evaluations. Track spending by instructor, institution, and over time.
$0.00
Total Spent (Current Month)
$0.00
Avg Cost per Evaluation
0
Total Evaluations
0
Total GPU Seconds
Cost by Instructor (Current Month)
Instructor
Evaluations
Total Cost
Avg Cost/Eval
GPU Seconds
Loading cost data...
Cost by Institution (Current Month)
Institution
Evaluations
Total Cost
Avg Cost/Eval
GPU Seconds
Loading cost data...
Cost Trends (Last 30 Days)
Cost trend chart will appear here
Cost Alert Threshold
Monthly cost alert will trigger when spending exceeds $100. Configure alerts in Sentry dashboard.
Energy & Sustainability
Track energy consumption and CO₂ emissions for your evaluations.
Loading energy data…
Compliance & Testing
Verify RLS policies and audit logs
Compliance & Testing
Verify RLS policies and audit logging for FERPA compliance. Run tests as different roles (instructor, admin, super admin) to confirm access is correct.
RLS test checks that you can see your own courses/evaluations and (as instructor) cannot see others'. Audit logs shows your recent access entries; if read is restricted, check the audit_logs table in Supabase Dashboard.
Error Reports
View and manage user-reported errors and system errors
Filters
Loading error reports...
No error reports found.
Class Details
Add Student
Edit Student
Recover deleted items
Loading…
Support
SpeechGradebookv1.0
New to SpeechGradebook? Follow these steps to run your first evaluation in minutes.
Step 1: Set up a course and rubric
Go to Dashboard → Courses and select New Course.
Enter the course name, term, year, and modality, then save.
Add students to the course using the roster tool.
Go to Dashboard → Rubrics. Select an existing rubric or create a new one. Tip: You can import a rubric from a PDF, image, Google Sheet, or Excel file using Import Rubric from File.
Step 2: Run an evaluation
Select Evaluate Speech in the navigation bar.
Upload the student's recording. Supported formats: MP3, MP4, MOV, WAV, M4A, WebM. Files over 50 MB are compressed automatically.
Select a course, student, and rubric.
Select Continue to Evaluation. The SpeechGradebook Model analyzes the recording against your rubric criteria.
Review the results. You can download a PDF report or email the student directly from the results screen.
Evaluations are processed by the SpeechGradebook Model, a fine-tuned version of Qwen running on Modal. No external API key is required.
Step 3: Collect student consent
Before storing evaluations in the cloud, students must give consent. Go to Settings → Consent to generate a consent link for your course. Share the link with students — they complete a short form, and their status updates automatically. Evaluations for students who haven't consented remain local only.
Step 4: Review course insights
After running several evaluations, go to Dashboard → Course Insights to see score trends, category breakdowns, and comparisons across students. Use the Export tab to download data. AdminSuper Admin users see department- and institution-wide views with instructor filters.
Admin and institution managementAdminSuper Admin
Admins can view and filter all courses in Settings → Admin. Super Admins can create and configure institutions and manage global settings.
A complete reference for every feature in SpeechGradebook, organized by task area. Use the Procedural library below for step-by-step instructions that stay inside the app.
Procedural library
Step-by-step topics you can scroll through here. At the end of the guided tour, Open in Support brings you to this section.
First-day checklist
Applies to: Instructors
Select Dashboard → Courses → New Course. Enter name, term, year, and modality, then save.
Open the course and add students (roster or import when available).
Select Dashboard → Rubrics → create or Import Rubric from File, then save.
Select Evaluate Speech, upload a file, Continue to Details, pick class, student, and rubric, then run the evaluation.
Next: set up Student consent before relying on cloud storage.
Single and bulk evaluations
Wizard: Upload → Details → Evaluate → Results.
Single: Select Single Upload, add a file, Continue to Details, choose class, student, and rubric, then continue.
Bulk: Select Bulk Upload, pick course and rubric, choose assignment type for the batch, add files, Match videos to students, then Start Processing.
Supported formats appear on the upload screen; large files may be compressed automatically.
Rubrics
Create:Dashboard → Rubrics → New Rubric — add categories, subcategories, and points.
Import:Import Rubric from File — review the pre-filled editor before saving.
Reuse: Use the rubric card menu (•••) to duplicate for a new term.
Courses and rosters
Create courses under Dashboard → Courses.
Open a course to manage roster, colors, and card menu actions.
Settings → General → Recover deleted items when you need to restore a removed course or student.
Results, PDF, and email
On Results, review scores and feedback. Use download or email actions when your deployment shows them. Reopen past runs from the student’s evaluation list.
Editing evaluations
Open the evaluation → menu (•••) → Edit.
Adjust letter grades or points; add comments and section notes.
On video, double-click the timeline to add markers.
Select Save.
Student consent
Settings → General → sidebar Consent Management — pick a course, generate a link, share it with students. Status updates when they submit the form.
Until consent is recorded per your institution’s rules, some evaluations may stay local only.
Course Insights and export
Open Dashboard → Course Insights. Use sub-tabs for overview, comparisons, evaluation lists, and Export when you need CSV or reports.
You can edit any saved evaluation to adjust scores, grades, or comments.
Go to a student's evaluations and open the evaluation you want to change.
Select Edit from the evaluation menu (•••).
The evaluation opens in editing mode. The video or audio player stays visible as you scroll so you can review the recording while making changes.
For each criterion, select a letter grade (A–F) or enter a point value directly. Grades and points stay in sync automatically.
Add per-criterion comments in the Comments field below each row, and section-level notes in the Section Notes area.
Add timeline markers by double-clicking the video at a moment you want to annotate.
Select Save when finished. Changes are saved to the cloud.
CoursesInstructor
Courses organize your students and their evaluations in one place.
Create a course — Go to Dashboard → Courses and select New Course. Enter a name, term, year, and modality.
Add students — Open the course and use the roster to add students individually or in bulk.
View evaluations — Select a student to see their full evaluation history, scores, and trends.
Customize — Use the course card menu (•••) to rename, customize the card color, or delete the course.
RubricsInstructor
Rubrics define the criteria and point values the model uses to evaluate a speech. You can create rubrics manually or import them from an existing file.
Create manually — Go to Dashboard → Rubrics → New Rubric. Add categories, subcategories, and point values.
Import from file — Use Import Rubric from File to extract criteria from a PDF, image (PNG/JPG), Google Sheet, or Excel file. SpeechGradebook reads the structure and pre-fills the rubric editor.
Duplicate or edit — Use the rubric card menu to duplicate an existing rubric as a starting point, or edit it directly.
Course InsightsInstructor
Course Insights gives you analytics across all evaluations in a course.
Overview — Summary metrics: average score, score distribution, and evaluation count.
Comparisons — Score breakdowns by category and comparisons across students or speech types.
Evaluation list — Searchable, filterable list of all evaluations in the course.
Export — Download evaluation data as a CSV or formatted report.
Admin and Super Admin users see department- or institution-wide views with instructor filters.
Settings
Settings is divided into tabs based on your role.
General — Configure the SpeechGradebook Model service URL.
Consent — Generate per-course consent links to share with students. View each student's consent status.
AdminAdmin — View all courses with instructor and date filters, and access data management tools.
AdminSuper Admin — All admin features plus institution management.
Data management, security, model training, version history, and legal information.
Data management and security
SpeechGradebook uses Supabase for authentication and cloud storage. All data is stored per institution with row-level security (RLS) — each user can only access data their role permits.
Instructors — Access their own courses, students, rubrics, and evaluations only.
Admins — Access all data within their department or institution; can filter by instructor and view cross-course analytics.
Super Admins — Manage institutions and (where configured) cross-institution data.
Student consent — Evaluations for students who haven't given consent are not stored in the cloud. Consent status is tracked in the consent_forms table.
Audit logging — All access to student evaluation data is recorded in audit_logs for FERPA compliance. Each log entry includes the purpose, user, IP address, and user agent.
Model trainingSuper Admin
The SpeechGradebook Model is a fine-tuned version of Qwen trained on your institution's evaluation data. Training runs on Modal (serverless GPU infrastructure), which handles compute provisioning automatically — no server management required.
A trained model gives you scoring behavior calibrated to your rubrics and grading style, with all data remaining within your institution's environment.
To export training data: Go to Settings → Admin → Data Management.
Training guides
Training Quickstart — Prerequisites, Modal setup, and step-by-step training procedure
Training README — Quick reference for export, convert, train, and serve commands
Recent changes to SpeechGradebook. See CHANGELOG.md in the project repository for the full history.
Licensing and legal
SpeechGradebook is provided for educational use. By using the app, you agree to your institution's terms and any applicable privacy policies. Student data is processed in accordance with FERPA and your institution's data agreements.
Model licensing — The SpeechGradebook Model is a fine-tuned version of Qwen (Apache 2.0 license). If you distribute the model, adapter weights, or any training or serving code that includes the model, you must include the Apache 2.0 license and required attribution. Internal use without redistribution doesn't require including the license in the app. See llm_training/LICENSE for the full license text and third-party notices.
For licensing or legal questions, contact your institution or the support address below.