🚀 About the Project
Inspiration
Remote interviews are now normal, but trust hasn’t caught up. Interviewers struggle to know whether a candidate is genuinely answering or silently relying on AI tools, tab switching, or off-screen help. Most solutions either invade privacy or require heavy backend infrastructure. I wanted to prove that meaningful, ethical interview integrity checks can be done directly in the browser, without recording or storing personal data.
What It Does
Live Interview Integrity Analyzer is a frontend-only system that analyzes interview behavior in real time. It observes multiple client-side signals—eye gaze deviation, face presence, tab switching, copy-paste actions, focus loss duration, and basic audio anomalies—and converts them into a continuously updating Credibility Score.
Instead of accusing candidates, the system provides explainable signals and a visual timeline so interviewers can make informed decisions.
How I Built It
The entire system runs in the browser using modern Web APIs. Webcam and microphone streams are accessed via WebRTC, while MediaPipe FaceMesh and TensorFlow.js are used for real-time facial landmark detection. Browser events like visibilitychange, keyboard shortcuts, and clipboard access are tracked to detect suspicious context switching. A transparent, weighted scoring model combines these signals:
Credibility=100−∑(signal_severity×weight)
A timeline panel visualizes all detected events, making the system interpretable rather than a black box.
Challenges I Faced
Balancing sensitivity without flagging normal human behavior
Achieving real-time performance without backend support
Avoiding fake or exaggerated “AI” claims while keeping the system credible
These constraints forced smarter design choices instead of shortcuts.
🛠 Built With
Languages: JavaScript
Frameworks: React, Vite
Styling: Tailwind CSS
Browser APIs: WebRTC, MediaDevices API, Page Visibility API, Web Audio API
Computer Vision: MediaPipe FaceMesh
ML Runtime: TensorFlow.js
Deployment: Static frontend hosting (no backend used)
Built With
- javascript
- react
- tailwind
- vite


Log in or sign up for Devpost to join the conversation.