Inspiration

We’ve all seen or heard stories of students cheating during online exams. It felt unfair—especially for those who study hard. We wanted to create something that actually protects academic integrity without being invasive or overcomplicated. That’s how Frisma was born.

What it does

Frisma makes sure the right person is taking the test and keeps an eye (literally) on their attention. It uses facial recognition to verify identity and tracks head movement to catch if someone looks away or swaps out. If something suspicious happens, an admin is instantly alerted.

How we built it

We used Flask for the backend, MediaPipe and OpenCV for face and pose detection, and a PostgreSQL database to log behaviors. We built a lightweight frontend that streams webcam video and communicates with the backend in real time.

Challenges we ran into

Getting head pose detection accurate (and fast) was hard—especially under different lighting or camera angles. Face verification also had to be reliable, or the whole system would fall apart. And building all this to run smoothly under pressure was a challenge in itself.

Accomplishments that we're proud of

We’re proud that we built a working, real-time proctoring tool from scratch. The face verification is solid, and the head tracking actually works! It’s exciting to see our project catch those “looking away” moments as they happen.

What we learned

We dove deep into computer vision, learned how to use MediaPipe effectively, and really leveled up our understanding of integrating ML models with real-time systems. It also taught us how to balance accuracy, speed, and usability.

Built With

Share this project:

Updates