Health and wellness is not just about physical health, it is also about recognizing when your mind is overworked, distracted, or heading toward burnout. We have all had that moment where it is 2 AM, you are staring at a Google Doc, and somehow an hour has passed without you actually getting anything done. A lot of tools can track screen time, but that does not really tell you whether you are focused or whether you are mentally drained and just going through the motions. That was the problem we wanted to solve with FaceValue. We wanted to build something that could catch cognitive burnout before you fully feel it, and actually tell the difference between deep work and distracted, unproductive scrolling.

FaceValue is a Chrome extension that tracks cognitive wellness using three main signals. First, it looks at your typing patterns and compares them to your personal baseline to detect when you are slowing down or showing signs of strain. Second, it tracks browsing behavior, like tab switching and paste events across tabs, to measure distraction. Third, it uses your webcam to analyze facial emotion, gaze direction, blink rate, and eye strain, then classifies your cognitive state on a scale from Focused to Stop. If the system detects strain or distraction, it shows a banner directly on the page you are on. At the end of the session, you get a full report with mood breakdowns by website, time distribution charts, and personalized wellness insights generated by Gemini.

On the technical side, the Chrome extension was built with Manifest V3, with content scripts injected into webpages to capture typing telemetry. We created a custom keystroke analysis module that calculates rolling metrics over a 10-second window and normalizes strain relative to each user’s calibrated baseline. The cognitive monitor runs through a local Python backend using OpenCV for video capture, dlib for facial landmarks, DeepFace for emotion recognition, and a custom gaze tracking module for pupil detection. That backend runs as a local Flask server, and the extension polls it every three seconds. Distraction alerts run through the background service worker using Chrome’s tabs API to count context switches, while Gemini’s on-device LanguageModel API generates the final personalized coaching insights.

A lot of the hardest parts were things we did not expect going in. Getting content scripts to inject reliably across websites was honestly a constant battle because Chrome’s injection and caching behavior can be weird, and our manifest kept getting overwritten during team merges. Google Docs was especially difficult because it uses a canvas-based editor with hidden iframes, so we had to build a MAIN world keystroke bridge just to make it work there. On top of that, working across four team members on the same files led to a lot of merge conflicts, especially in files like background.js and manifest.json, and that got even messier with different operating systems involved. We also had to keep adjusting the cognitive load thresholds, because if they were too sensitive the system became annoying, but if they were too loose the alerts never really helped. The facial and eye detection also took a lot of debugging to get stable enough to work as part of the full system.

What we are most proud of is that we built a genuinely multimodal wellness tool in under 24 hours. The Google Docs support pushed us to come up with a creative dual-world injection architecture that ended up being one of the most interesting parts of the project. We are also proud that everything runs locally, which means no personal data has to leave your device. That let us solve a real privacy issue while still creating something useful. Because the system combines behavioral signals, webcam-based analysis, and Gemini insights, the feedback feels much more specific and meaningful than generic productivity advice. It can actually understand what sites were stressful, when your focus was strongest, and when you were starting to burn out.

This project also taught us a lot. Chrome extension development is much more complex than it seems at first, especially once you deal with content script isolation, service worker lifecycles, and communication across execution contexts. We also learned how important modular code ownership is when multiple people are touching the same files under time pressure. Most of all, we realized that building a wellness tool is not just about detecting signals, it is about calibrating them well enough that the final alerts feel helpful instead of disruptive.

For next steps, we want to add historical trend tracking so users can see cognitive patterns over time instead of just in one session. We also want to make the alerts smarter by looking at patterns over longer stretches of time instead of reacting instantly to single moments. Longer term, we would love to build a team dashboard that helps organizations monitor burnout risk at a broader level without compromising individual privacy.

Built With

  • chrome-extensions-api-(manifest-v3)
  • chrome-native-messaging-api
  • chrome-notifications-api
  • chrome-scripting-api
  • chrome-side-panel-api
  • chrome-storage-api
  • chrome-tabs-api
  • deepface
  • dlib
  • docker
  • flask
  • gazetracking
  • gemini-languagemodel-api
  • github
  • haar-cascade-classifier
  • html/css
  • javascript
  • mjpeg-streaming
  • numpy
  • opencv
  • python
  • tensorflow/keras
Share this project:

Updates