PosiSense

Inspiration

Most candidates spend hours perfecting what they say in interviews — but nobody tells them how they actually come across on camera. We've all been there: you know your answer cold, but something about the way you delivered it fell flat. Eye contact felt off. You were rambling. You didn't realize you said "um" eleven times.

The core insight that drove PosiSense: you can have a perfect answer and still lose the interview because you look nervous on screen. No existing tool addresses that. We wanted to build the thing that finally closes that gap.


What it does

PosiSense is a real-time AI interview coach for laptop-based online interviews. It doesn't coach on what you say — it coaches on how you come across on camera.

During a mock interview session, PosiSense analyzes your behavioral signals live and delivers feedback in three layers:

  1. Real-time nudges — subtle on-screen indicators during your answer that won't break your flow

  2. Per-answer scorecards — shown immediately after each response, covering eye contact %, blink rate, filler word count, expression rating, and pacing

  3. Session recap — a full timestamped breakdown with pattern insights like: "At 1:42 you broke eye contact for 6 seconds — this followed a behavioral question, which may be an anxiety trigger for you."

Signals tracked include camera eye contact, blink rate, facial expression, talk/silence pacing, and filler words ("um", "uh", "like", "you know").


How we built it

  • Presage — our human sensing layer for gaze tracking, blink detection, expression analysis, and body motion

  • Web Speech API — for real-time filler word detection and talk/silence segmentation

  • Figma Make — used to initialize the design and generate the base of the application, giving us a head start on both UI structure and visual polish

  • React and Tailwind CSS — single-page laptop app with a clean, distraction-free UI

  • MongoDB Atlas — cloud database for storing session data, per-answer scorecards, and behavioral signal history across sessions

The architecture was deliberately lean: Figma Make gave us a strong design foundation to build from, Presage handles the heavy lifting on computer vision, Web Speech API handles audio, and React ties it into a responsive feedback interface.


Use of Figma in Our Project

Figma Design
We designed the full user interface and user experience of our app in Figma Design. This included layout planning, visual styling, and interaction flow. We also created our slide deck in Figma to keep our branding consistent across the project.

Figma Dev
To speed up development, we used Figma Dev for accurate spacing, styling, and component specs. This minimized guesswork in our codebase and made translating designs into implementation much smoother.

Figma Make
We built an interactive prototype using Figma Make, allowing us to test user interactions early and refine our app’s behavior. This prototype also guided our coding tasks and ensured our final build matched our intended experience.


Challenges we ran into

  • Environment setup — Presage only supports Ubuntu 22, so a significant portion of our early time went into configuring a compatible environment before we could write a single line of application code.

  • No native web support for Presage — Presage does not have built-in web-based integration, so we had to figure out how to bridge it into our React web application — something that required creative problem-solving outside the standard documentation.

  • Learning the Presage SDK — with limited documentation and no prior experience, we had to reverse-engineer the SDK to understand what signals were available and how to customize the output to fit our specific use case.

  • Database migration from Supabase to MongoDB Atlas — Figma Make scaffolded the project with Supabase as the default database, but we needed MongoDB Atlas. Ripping out that integration and rewiring everything to Atlas mid-build added unexpected complexity.


Accomplishments that we're proud of

  • Live camera feed with real-time stats — we got the camera view working alongside behavioral signal overlays, so you can see yourself on screen with feedback data displayed simultaneously
  • The per-answer scorecard delivers genuinely actionable, specific data (not vague "you seemed nervous" summaries)
  • The session recap with timestamped moments is something we're especially proud of — it turns raw signals into a personal coaching narrative
  • Designed specifically for an underserved user: early-career candidates and non-native English speakers who lack access to professional coaching resources

What we learned

  • On-camera presence is a learnable skill, and real-time feedback loops can accelerate that learning dramatically
  • The gap between "what you think you look like" and "what the camera actually captures" is larger than most people expect
  • Filler words spike under pressure in patterns — knowing when they cluster (e.g., after behavioral questions) is more useful than just knowing the count
  • Computer vision in the browser has come a long way; Presage made signals accessible that would have required a backend ML pipeline just a couple of years ago

What's next for PosiSense

  • Question-type correlation — linking behavioral spikes to specific question categories (behavioral vs. technical vs. situational) to surface personalized anxiety triggers

  • Progress tracking across sessions — so users can see their eye contact score or filler rate improve over time

  • Mobile/tablet support — expanding beyond laptop-only scenarios

  • Tailored question banks — role-specific mock interview sets for software engineering, consulting, finance, and more

  • Non-native English speaker mode — adjusted pacing benchmarks and sensitivity tuning for candidates whose first language isn't English

Built With

Share this project:

Updates