Inspiration

Knowledge workers lose momentum from constant context switching, not just from “too much work.”
We were inspired by a simple question:

What if your tools could adapt to your cognitive state in real time, instead of treating every minute the same?

EchoMind was born from that idea: detect when a person is in deep focus, light work, scattered attention, or recovery, then proactively reduce noise and surface the right next action.

About the Project

EchoMind is an AI-powered cognitive load manager that combines real-time sensing, state classification, and adaptive task support.

It works in 3 loops:

  1. Sense: extract non-raw facial signals (EAR, blink rate, gaze variance, head pose).
  2. Classify: map signals (plus behavior features) into cognitive states with confidence + triggers.
  3. Adapt: suggest focus-preserving actions (DND, task prioritization, break prompts, defer low-value tasks).

A simple way to describe the internal scoring intuition is:

$$ \text{StateScore}_k = \sum_i w_i f_i + \sum_j v_j b_j - h \cdot \Delta(\text{state switch}) $$

Where facial features (f_i), behavioral features (b_j), and hysteresis (h) help prevent unstable flipping between states.

How We Built It

  • Frontend: React + TypeScript + Vite
  • Desktop: Electron
  • State management: Zustand
  • Sensing: MediaPipe Face Landmarker
  • Local storage: SQLite (better-sqlite3) + Electron Store
  • Adaptation logic: rule-based engine + optional LLM explanation layer
  • Web hosting: Firebase Hosting

Key implementation highlights:

  • Guided face calibration wizard (Rest / Blink / Look-around stages)
  • Personalized baseline thresholds for better per-user accuracy
  • Hysteresis and confidence gates to reduce rapid state oscillation
  • Minimal overlay redesign with real session duration
  • Desktop-first auth flow via browser OAuth and app handoff
  • Public landing page + phase roadmap (“What’s next?”)

Challenges We Faced

  • Packaged app blank screen caused by file path/base URL behavior under file://.
  • OAuth redirect mismatch and desktop flow edge cases.
  • Noisy/unstable state switching (e.g., Scattered ↔ Deep Focus jitter).
  • Overlay UX issues (intrusive visuals, extra window frame artifacts).
  • Build/release friction (Windows packaging locks and environment-specific issues).

What We Learned

  • Personalized baselines are essential; fixed thresholds are not enough.
  • Stability matters as much as raw detection accuracy.
  • UX clarity (timing, overlays, sound cues, concise explanations) directly impacts trust.
  • Desktop product quality depends heavily on packaging/auth details, not just model logic.
  • “Interpretability first” (show triggers/reasoning) helps users accept adaptive AI behavior.

What’s Next

  • Phase 2: schedule integration (calendar/task timeline-aware adaptation)
  • Phase 3: optional EEG device fusion for richer confidence signals
  • Expand multimodal sensing (posture, hand-on-chin style patterns) to improve robustness beyond face-only cues

Built With

Share this project:

Updates

Submission history