Built for the way schools actually work
Every feature, by who uses it.
IQVer is one platform with four doorways — admin, teacher, proctor, and student. Below is the launch-ready feature set for each role, plus the operational pieces that hold them together.
The MVP checklist, line by line
What schools ask for — and where IQVer delivers it
Integrates with school websites
Every class has a copy-paste <iframe> snippet (frame-ancestors 'self' by default) for WordPress, Google Sites, any CMS.
Teacher dashboard → Embed in your school site
Supports online classes
One-click Jitsi Meet room per class. No API keys, no per-seat licensing, unlimited users.
Teacher session view → Live class (Jitsi)
Lets teachers share activities
Assignments, links, resources, announcements — posted from teacher view, visible everywhere students land.
Teacher session view → Class activities
Students join via QR code
Auto-generated PNG QR links to /join/[code]; same QR appears inside the iframe embed so parents can scan from a phone while the embedded page runs on desktop.
Teacher session view + Embed page → Join from a phone (QR)
Polished, launch-ready, MVP
Three role dashboards, real-time monitoring, recordings to cloud storage, 90-day auto-delete, mobile + dark mode, OAuth optional.
Everywhere — see the rest of this page
Validates the core business hypothesis
Real shared cloud database (Vercel Blob), per-deploy health probe, CSV exports for audit, embedded admin ops panel.
Admin → System health & ops
ProctorGuard-style capability map
Exam proctoring checklist — what ships today vs. roadmap
| Area | In this build |
|---|---|
| 1. Authentication & access | Email/password, admin user form, session cookies, OAuth for teachers; Proctor role at /teacher. |
| 2. Dashboard | Overview cards: sessions, active, 7d events, integrity alerts; activity chart. |
| 3. Class management | Sessions + join codes + embed; formal LMS enrollment is roadmap. |
| 4. Exam management | Timed web exam (?duration=), demo questions, submit + timer events; wizard UI roadmap. |
| 5. Monitoring setup | Jitsi iframe permissions; guided device wizard via readiness page. |
| 6. Candidate readiness | Dedicated /join/[code]/readiness — network, browser, camera & mic checks before exam. |
| 7. Secure exam UI | Sticky timer, progress, fullscreen action, question nav, tab-leave warnings + events. |
| 8. Anti-cheat / AI | Rule-based integrity events + uploads; no ML behavior scoring yet. |
| 9. Live monitoring | Session timeline polling, Jitsi live class; dedicated multi-tile grid roadmap. |
| 10. Incidents & alerts | Severity labels (High/Med/Info) on events; dashboard 7d alert count. |
| 11. Recording management | Blob uploads, per-session list, retention cron — export polish optional. |
| 12. Session review | Events + recording links; unified replay timeline roadmap. |
| 13. Analytics | Charts + CSV exports; deeper violation analytics roadmap. |
| 14. User management | Admin CRUD; roles: admin, teacher, proctor, student. |
| 15. System settings | CSP, cron cleanup, ops panel; configurable policy thresholds roadmap. |
| 16. UI / UX | Dark mode, responsive cards, sidebars — consistent across dashboards. |
For admins
Run your whole org from one console
Proctor role
Monitoring-only accounts see every session, integrity alert counts, and severity-labeled timelines — they cannot create sessions, post activities, or end rooms.
User management
Create, view, and remove admin / teacher / proctor / student accounts. Roles are enforced at every API endpoint.
Organisation overview
Snapshot of every active session, ended session, total monitoring events, and account counts by role.
Live activity feed
Combined timeline of everything happening across the deployment — events posted, classes started, exams ended.
Identity providers
Optional Google or Microsoft Entra (Office 365) sign-in, with email/domain allow-lists for teachers.
Durable storage
Vercel Blob for app data + recordings, with a local-file fallback for development. No DB to maintain.
Retention controls
Recordings auto-delete after 90 days. Run cleanup on demand from the admin console — auditable cron logs.
For teachers
Sessions, video, activities, monitoring — together
Sessions in seconds
Type a title, hit create. IQVer generates a unique join code, a Jitsi video room, and a printable QR.
QR + share links
Project the QR on a screen or share /join/[code]. Students land on a class page with everything they need.
Live online class
Embedded Jitsi Meet room per session. No API key, no separate scheduler. Open in a tab or on the dashboard.
Class activities
Post exams, assignments, links, resources, or announcements. Visible on the join page, embeds, and the LMS.
Real-time monitoring
Every join, visibility loss, upload, and lifecycle event is timestamped. The dashboard polls automatically.
CSV export
One-click export of every monitoring event for a session — perfect for audit, analytics, or your registrar.
For students
Join a class in seconds, on any device
Quick join
Scan the QR with your phone camera, or type the 6-character code. No setup, no install for the class page.
Recently joined
Your portal remembers the classes you opened on this device, so you can rejoin in one tap next time.
Live class on any device
Join the Jitsi room from a phone, tablet, or laptop browser. No desktop install required for class.
Secure exam mode
When a real proctored exam starts, install IQVer Exam (Windows / macOS) and use the same join code there.
Privacy by default
Recordings, when collected, auto-delete after 90 days. Recently-joined classes are local to your device.
Activities at a glance
Assignments, links, and announcements from your teacher are visible on the class page — no extra app.
Behind the scenes
The plumbing that makes it production-grade
School-site embeds
Drop /embed/class/[code] into any iframe — WordPress, Google Sites, Moodle, Canvas. Frame-ancestors defaults to 'self'.
Scheduled retention
Vercel Cron hits the cleanup endpoint daily; admin can also trigger it on demand for compliance reviews.
Mobile-first UI
Every page is responsive. Dark mode is automatic, the QR pages render perfectly on a phone.
Four-role product
Admin, teacher, proctor, and student flows with server-side permission checks; proctor is monitoring-only.
Launch-ready bundle
Everything below is in this build. No “coming soon” labels.
- Four roles: admin, teacher, proctor (monitor), student
- Unique join codes + printable QR per class
- Embedded Jitsi Meet live class (no API key)
- Class activities (exams, assignments, links, resources, announcements)
- Monitoring events ingestion + per-session timeline
- Recording uploads to Vercel Blob (direct from client)
- Per-recording delete (DB + Blob in one call)
- 90-day automatic retention via Vercel Cron
- Admin: manual cleanup with custom days override
- Admin: full-org sessions and recordings views
- CSV export of monitoring events per session
- School-site iframe embed (frame-ancestors 'self' by default)
- Email + password auth with bcrypt hashing
- Optional Google + Microsoft Entra OAuth
- Email/domain allow-list for OAuth teachers
- Public health endpoint for uptime monitors
- "Who am I" endpoint for client apps
- Mobile-first responsive UI + dark mode
- Local dev with zero external services
- Vercel deploy with one Blob token
Hand it to a teacher today.
Sign in as admin, create a teacher account, watch them spin up a class with a QR code in under two minutes. That's the pitch.
