QuizAI Student (mobile)

Take quizzes from your phone โ€” no friction, no extra logins per quiz.

QuizAI Student is the Android companion app for the QuizAI V2 platform for live quizzes. Students sign in once, scan the QR code printed on the questionnaire (or shown on the teacher's live screen), and drop straight into the live quiz.

Send us an email to download from Google Play Store while the app is pending public availability.


โœจ Features

๐Ÿ” Authentication

  • Quick login with your school-issued student ID and the questionnaire reference code.
  • Email-based login โ€” your email address is the canonical account identifier. After three failed reference-code attempts, the app reveals a password field so you can sign in with your email (or legacy Student ID) and QuizAI password instead.
  • Biometric unlock (opt-in) โ€” Fingerprint / Face ID gating. Bearer tokens are stored in the Android Keystore via FlutterSecureStorage.
  • Single-device-per-account โ€” signing in on a new device automatically revokes your previous session. If you are signed out unexpectedly, a banner will explain that your account was accessed from another device.

๐Ÿ“ฒ Scan-to-join

  • Open your phone's native camera app and point it at the QR code the teacher displays (printed on the questionnaire or shown on the live screen).
  • Android App Links route the scanned URL into this app automatically when:
    1. the app is installed on the device, and
    2. you are signed in (or successfully sign in afterwards).
  • If either condition isn't met, the URL falls back to the web join page in the browser.

The deep-link configuration that powers scan-to-join is documented for developers in the source repository under docs/.

๐Ÿ“ Quiz player

  • Server-authoritative timer enforcement โ€” your local clock is advisory only.
  • DOM-safe rendering of question text and choices (no raw HTML injection).
  • Image-bearing questions and image-bearing choices.
  • Heartbeat every 30 s so the teacher's console can mark you as live.
  • Cross-device session continuity โ€” switching to the web app mid-quiz reuses the same session row.

๐ŸŽค Live (sync) mode

  • Polls the teacher's live state every 2 s.
  • Renders whichever question the teacher pushes (whether from the web console or the teacher mobile app), in the questionnaire's printed item order.
  • Single-answer guarantee โ€” if you've already answered the same question from another device, the choices are locked here and a banner explains why.

๐Ÿ“Š Results

  • Score, score-out-of, and per-question breakdown when the teacher releases results.
  • When the teacher's release_results flag is set to manual and release hasn't happened yet, the breakdown is hidden behind a "results pending" placeholder.

๐Ÿ‘ค Account self-service (web)

Available at /profile or /student/profile after sign-in:

  • Display name โ€” update the name shown to teachers and on result sheets.
  • Email address โ€” change your login email. If your account has a password set, you must confirm it first. If you sign in with Google only, you must set a password alongside the email change to avoid lockout (the form prompts you automatically). Changing your email disconnects Google Sign-In.
  • Password โ€” set or change your QuizAI password. Accounts that currently sign in with Google only can set a password here to enable email/password login as a fallback.
  • Google Sign-In status โ€” a chip on the Account Information card shows whether Google Sign-In is linked to your account.
  • Delete account โ€” permanently removes your account and quiz history.

๐ŸŒ— UX

  • Light, dark, and system-following themes.
  • Compact, fast UI optimized for one-handed use during quizzes.

๐Ÿ”‘ Sign-in reference

Situation What to do
Normal login Enter your Student ID and the reference code your teacher gave you.
Forgotten / no reference code After 3 failed attempts, a password field appears โ€” enter your email (or Student ID) and your QuizAI password.
Biometric unlock Tap the fingerprint icon if you previously opted in. Your session is restored from the Android Keystore.
"Account in use on another device" Sign in again normally โ€” your previous device's session has been revoked.

๐Ÿ›ก๏ธ Privacy & permissions

  • Camera โ€” not requested. Scan-to-join uses the system camera app, not the in-app camera.
  • Internet โ€” required for all API calls (HTTPS only).
  • Biometric โ€” optional, opt-in.
  • No location, no advertising IDs, no microphone, no contacts.
  • A stable device UUID is stored in the Android Keystore and sent with every API request solely for single-device-per-account enforcement. It is never used for tracking or advertising.

Full privacy notice: Student Mobile ยท Privacy Policy.


๐Ÿ“ฌ Support

Developed by ACCESS Software Solutions. info@accessph.net ยท https://accessph.net