Skip to content

feat: add system requirements checker page at /system-check - #1162

Open
AbiniveshMayilsamy wants to merge 1 commit into
vicharanashala:mainfrom
AbiniveshMayilsamy:feature/system-requirements-checker
Open

AbiniveshMayilsamy wants to merge 1 commit into
vicharanashala:mainfrom
AbiniveshMayilsamy:feature/system-requirements-checker

Conversation

@AbiniveshMayilsamy

Copy link
Copy Markdown

feat: System Requirements Checker — Pre-Login Device Validation

What this PR does

Adds a dedicated System Requirements Checker page at /system-check that allows students to verify their device is fully compatible with ViBe's AI proctoring and learning features before they even log in.

The Problem This Solves

Imagine a student who has booked a timeslot for a proctored course. They log in, navigate to the course, and only then discover their camera isn't working or their microphone is blocked. At that point, they've already consumed their slot. The session is wasted. The frustration is real.

This is a classic design thinking failure — the system knew what it needed (camera, mic, WebGL, WebAssembly) but never told the user until it was too late.

The Solution

The System Requirements Checker surfaces these issues before login, giving students the time and context to fix problems on their own terms — not mid-session under pressure.

7 checks performed:

Check Why it matters
Browser Compatibility Ensures supported browser for all features
Camera Access Required for AI proctoring
Microphone Access Required for speech detection
WebGL Support Required for face detection models
WebAssembly Support Required for AI inference engine
Web Workers Required for background processing
Local Storage Required for session persistence

How it works:

  • Each check runs sequentially with live status (pass / warn / fail)
  • Result is persisted to localStorage so it isn't re-run every visit
  • A "Check System" button is added to the landing page hero section for easy access
  • "warned" status (e.g. no mic) still allows proceeding — non-blocking for partial setups
  • Only hard failures (camera denied, WebAssembly missing) show as ✕

Design Thinking Highlights

  • Empathy: Students booking timeslots deserve to know their device works before the slot starts, not after
  • Prevention over recovery: Fix the camera permission dialog at home, not in a live proctored session
  • Non-intrusive: The check is optional and informational — no login gate, no forced flow
  • Clear feedback: Every check shows exactly what failed and why, with actionable messages

Files Changed

  • frontend/src/app/pages/SystemCheckPage.tsx — new page with all 7 checks
  • frontend/src/app/routes/router.tsx — registered /system-check route
  • frontend/src/app/pages/auth-page.tsx — added "Check System" button on landing hero

@github-actions github-actions Bot added the frontend Changes to the frontend of the project label Jul 18, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

frontend Changes to the frontend of the project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant