How vachan2/mindops works
NeuroSync monitors developer focus and cognitive load through a live dashboard. A user starts a session; browser signals and webcam-derived eye metrics update session metrics, which are displayed and periodically analyzed into recommendations. The Python service also exposes a live video feed, logs session data, and can optionally push load indicators to an ESP32. The sampled excerpts establish the API and session wiring; some Python processing details and dashboard component wiring are documented or implied by names but not fully sampled.
Main entry points: page.tsx Monitoring Dashboard · stream_server.py Eye Stream Server · useSessionTimer.ts Session Timer · ai.ts AI Analysis
Components 24
Dashboard
- Landing Page
keyboard_implementation/Focus-plus/app/page.tsx - Monitoring Dashboard
keyboard_implementation/Focus-plus/app/dashboard/page.tsx - Webcam Display
keyboard_implementation/Focus-plus/components/ui/WebcamFeed.tsx - Metric Cards
keyboard_implementation/Focus-plus/components/ui/MetricCard.tsx - Insight Panel
keyboard_implementation/Focus-plus/components/ui/AIInsightPanel.tsx - Live Charts
keyboard_implementation/Focus-plus/components/ui/LiveChart.tsx
Session Metrics
- Keyboard Tracker
keyboard_implementation/Focus-plus/hooks/useKeyboardTracker.ts - Session Timer
keyboard_implementation/Focus-plus/hooks/useSessionTimer.ts - Session Store
keyboard_implementation/Focus-plus/store/sessionStore.ts
Vision Service
- Eye Stream Server
stream_server.py - Eye Tracking
eye_tracking.py - Blink Detection
blink_detection.py - Load Scoring
cognitive_load.py - Session Logger
data_logger.py - Eye Metrics API
keyboard_implementation/Focus-plus/app/api/eye-metrics/route.ts - Video Feed API
keyboard_implementation/Focus-plus/app/api/video-feed/route.ts
Insights
- Analysis API
keyboard_implementation/Focus-plus/app/api/analyze/route.ts - AI Analysis
keyboard_implementation/Focus-plus/services/ai.ts - Sarvam API
- Mistral API
- Ollama Model
Other components
- Developer
- Webcam
- ESP32 LED Ring
Connections 31
- Developer → Landing Page: opens
- Landing Page → Monitoring Dashboard: launches
- Developer → Monitoring Dashboard: controls session
- Monitoring Dashboard → Session Timer: starts polling
- Monitoring Dashboard → Keyboard Tracker: starts tracking
- Session Timer → Session Store: updates metrics
- Keyboard Tracker → Session Store: writes typing signals
- Monitoring Dashboard → Session Store: reads session state
- Monitoring Dashboard → Metric Cards: renders metrics
- Monitoring Dashboard → Live Charts: renders history
- Monitoring Dashboard → Webcam Display: shows video
- Monitoring Dashboard → Insight Panel: shows analysis
- Session Timer → Eye Metrics API: polls metrics
- Eye Metrics API → Eye Stream Server: fetches metrics
- Eye Stream Server → Eye Metrics API: returns snapshot
- Session Timer → Analysis API: posts metrics
- Analysis API → AI Analysis: analyzes metrics
- AI Analysis → Sarvam API: tries first
- AI Analysis → Mistral API: falls back
- AI Analysis → Ollama Model: uses if enabled
- AI Analysis → Analysis API: returns insight
- Analysis API → Session Timer: returns analysis
- Session Timer → Session Store: stores analysis
- Webcam Display → Video Feed API: requests stream
- Video Feed API → Eye Stream Server: proxies feed
- Webcam → Eye Stream Server: provides frames
- Eye Stream Server → Eye Tracking: tracks eyes
- Eye Stream Server → Blink Detection: detects blinks
- Eye Stream Server → Load Scoring: scores load
- Eye Stream Server → Session Logger: logs session
- Eye Stream Server → ESP32 LED Ring: pushes load