All work

Computer Vision · Applied ML

SnapClass

Classroom attendance by face and voice

A teacher photographs the room; the app marks who's present. Students sign in by showing their face.

Why

Roll-call is a small, constant tax on class time, and it's trivially gamed. The usual fixes need hardware nobody wants to buy — fingerprint readers, RFID cards, dedicated terminals.

How it works

  1. Enrol with a code

    Teachers create a subject; students join by scanning a QR code and registering a face.

  2. One photo, whole room

    Faces are detected, aligned, and matched against the class roster.

  3. Confirm before marking

    A classifier always names someone, so a distance check has to agree before attendance is written.

  4. Or just talk

    A room recording is split on silence and matched against enrolled voices instead.

What it looks like

Two doors in: student, or teacher.

Built with

  • Python
  • dlib
  • scikit-learn
  • Resemblyzer
  • librosa
  • Streamlit
  • Supabase

Try it

Run it yourself

Local only

The hosted build is currently failing to start, so it's local-only for now. Needs Supabase credentials in .streamlit/secrets.toml.

From a clone of the repository
pip install -r requirements.txt
streamlit run app.py

Next