Inspiration

What it does## Inspiration

Technical interviews are incredibly stressful, and network fragility means students are often disqualified if their Wi-Fi drops even for a minute. Data privacy is also a massive risk because uploading a resume to a public AI exposes personal details like phone numbers, emails, and college IDs. Finally, students usually leave without knowing their mistakes because they receive no constructive feedback. We wanted to build a system that survives Wi-Fi drops, protects student privacy, and gives instant, actionable feedback.

What it does

Intervia is a secure online technical interviewing platform.

  • PII Shield: It finds personal details in resumes, GitHub content, and voice transcripts, replacing them with placeholders (like [NAME_1]) before anything reaches the AI.
  • Black Box Buffer: If the Wi-Fi drops, a 5-10 minute offline buffer keeps the session alive, allowing the student to keep coding while recording compressed video and audio to local storage.
  • Tamper-Evident Log: Every 5 seconds during an offline drop, a security log entry is chained to the previous one using a cryptographic HMAC-SHA256 hash to detect if a student tried to cheat by editing or deleting data. The sequence is mathematically verified upon reconnection using the following cryptographic chain:

$$ h_i = \text{HMAC}(key, h_{i-1} + sequence_number + timestamp + event) $$

  • Instant Reports: After the interview, it generates an anonymous "Loopholes & Prosperity" report for the student and an Executive Summary for the interviewer.

How we built it

  • Collaboration Engine: We used Yjs CRDT over WebSockets to power the shared code editor, ensuring both the student and interviewer see the exact same code live.
  • Local Machine Learning: We utilized WebAssembly (WASM) to run MediaPipe FaceDetector and Whisper/Vosk speech-to-text directly inside the browser, meaning raw video and audio are never sent to the cloud AI.
  • Offline Infrastructure: We leveraged Service Workers (PWA) to keep the app loaded offline, and used MediaRecorder and IndexedDB to save the Black Box media chunks directly to the device.
  • Security & Cryptography: We secured data using AES-256 ( (2^{256} \text{ possible keys}) ) to encrypt the PII mapping on our backend server, and we used HMAC-SHA256 to create the tamper-evident security chain. The frontend was built with React and Tailwind CSS, while the backend is powered by FastAPI and PostgreSQL (Supabase).

Challenges we ran into

  • Stopping Offline Tampering: We had to figure out how to stop tech-savvy students from opening Chrome DevTools and deleting a "tab-switched" record from the local IndexedDB before turning their Wi-Fi back on.
  • Complex Reconnect Logic: Designing the Level 2 background verification when a connection is restored was difficult; it requires verifying every hash, merging the offline Yjs code, and uploading the stored video chunks in order.
  • Total Privacy Isolation: We had to ensure the AI calls the student "the candidate" and writes reports without ever seeing their real identity, linking the real name to the interviewer's report only at the very last step via a session_id.

Accomplishments that we're proud of

  • Building a system where an internet drop results in an instant reconnect alert and an AI-generated Time-Lapse Summary, rather than an automatic disqualification.
  • Creating a deterrent-based security chain that starts with a server-issued seed, making it mathematically impossible ( (P \approx 0) ) for a student to build a fresh valid chain on their own while offline.
  • Implementing a "Shared AI Evaluation Screen" that honestly tracks and evaluates how well a student uses AI prompts, passing that data into the final reports.

What we learned

  • We learned how to deeply integrate WebAssembly (WASM) to execute heavy models like face detection fast enough inside the browser to log results every 1-2 seconds.
  • We learned how to utilize HMAC-SHA256 hashing algorithms to secure sequential data logs against local manipulation.

What's next for Intervia

Having completed Phase 1 (where the AI acts as a Copilot to a human interviewer), our next step is Phase 2: building a fully autonomous AI interviewer. This will involve adding an Autonomous Driver Layer with a fixed question plan state machine and a voice loop for patient turn-taking. We also plan to integrate a rubric-based scoring system with a skill radar chart to track progress across attempts.

Built With

Share this project:

Updates

Submission history