Developed by Hansraj
A fully functional, privacy-first, browser-based Student–Teacher Wellbeing & Institutional Operating System with real-time emotion detection.
✅ Real Camera Access - Live webcam feed with face tracking
✅ Facial Emotion Detection - Using face-api.js (TensorFlow.js)
✅ Voice Emotion Analysis - Web Audio API for real-time voice stress detection
✅ Multimodal Fusion - Combines face + voice emotions intelligently
✅ Live Dashboards - Student, Teacher, Parent, and Admin views
✅ 100% Privacy-First - No backend, no cloud, all processing in browser
✅ No Paid APIs - Completely free and open-source
- React (Vite)
- Tailwind CSS
- face-api.js (@vladmandic/face-api)
- TensorFlow.js
- Web Audio API
- Recharts
- Lucide React Icons
npm installIMPORTANT: The app requires face-api.js model files to work.
- Visit: https://github.com/vladmandic/face-api/tree/master/model
- Download ALL model files from the repository
- Place them in
/public/models/directory
Required files:
- tiny_face_detector_model-*
- face_landmark_68_model-*
- face_recognition_model-*
- face_expression_model-*
npm run devThe app will open at http://localhost:3000
npm run build- Splash Screen - Shows UmangOS branding (2-3 seconds)
- Permission Screen - Grant camera and microphone access
- Main Dashboard - Choose from 4 dashboard types:
- Student Dashboard - Personal wellbeing monitoring
- Teacher Dashboard - Class-wide emotion trends
- Parent Dashboard - Child's wellbeing summary
- Admin Dashboard - Institution-wide system overview
- Uses face-api.js with TinyFaceDetector
- Detects 7 emotions: happy, sad, angry, fearful, disgusted, surprised, neutral
- Real-time bounding box and confidence display
- Runs at 15-30 FPS depending on device
- Captures microphone input via Web Audio API
- Analyzes volume, pitch, energy, and spectral features
- Maps audio features to emotional states
- Real-time waveform visualization
- Intelligently combines face + voice emotions
- Weighted scoring (60% face, 40% voice)
- Detects emotion compatibility
- Outputs 28+ fused emotion states
- ✅ All processing happens in the browser
- ✅ No data uploaded to any server
- ✅ No backend required
- ✅ No tracking or analytics
- ✅ Camera/mic streams never leave your device
- ✅ Chrome/Edge (Recommended)
- ✅ Firefox
- ✅ Safari (Limited)
⚠️ Requires HTTPS for camera/mic access in production
umangos/
├── public/
│ └── models/ # Face-api.js models (download separately)
├── src/
│ ├── components/ # UI components
│ │ ├── SplashScreen.jsx
│ │ ├── PermissionScreen.jsx
│ │ ├── Header.jsx
│ │ ├── Footer.jsx
│ │ └── CameraView.jsx
│ ├── emotion/ # Emotion detection engines
│ │ ├── FaceEmotionEngine.js
│ │ ├── VoiceEmotionEngine.js
│ │ └── EmotionFusion.js
│ ├── dashboards/ # Dashboard views
│ │ ├── StudentDashboard.jsx
│ │ ├── TeacherDashboard.jsx
│ │ ├── ParentDashboard.jsx
│ │ └── AdminDashboard.jsx
│ ├── hooks/ # Custom React hooks
│ │ ├── useCamera.js
│ │ └── useMicrophone.js
│ ├── App.jsx # Main app with routing
│ ├── main.jsx # Entry point
│ └── index.css # Global styles
├── index.html
├── package.json
├── vite.config.js
└── tailwind.config.js
- Ensure you're using HTTPS (or localhost)
- Check browser permissions
- Try a different browser
- Download and place face-api.js models in
/public/models/ - Check browser console for errors
- Ensure good lighting conditions
- Use a smaller video resolution
- Close other tabs/applications
- Try a more powerful device
Developed by Hansraj
Built with ❤️ for student and teacher wellbeing
Open source - Free to use and modify
UmangOS - Privacy-First Wellbeing System