WAKEY-WAKEY is under active development. It's mid-migration from a Python backend to an in-app TypeScript detection pipeline β expect rough edges, and treat anything below as a snapshot rather than a stable release.
WAKEY-WAKEY is a desktop companion designed to keep you awake and alert. It uses your webcam and real-time facial-landmark analysis to detect drowsiness (eye closure, yawning), triggering customizable audio alerts when it does.
Perfect for students, professionals, night-shift workers, or anyone needing focus during long sessions.
- Real-Time Drowsiness Detection: Tracks eye closure and yawns via facial landmarks (Eye Aspect Ratio / Mouth Aspect Ratio)
- Smart Alert System: Rotating audio notifications (
sound1βsound5.mp3) triggered when drowsiness is detected - Non-Intrusive: Runs quietly in the background with a system tray presence
- Local Processing & Privacy: Detection now runs entirely in-app β no external backend, no data leaves your device
- Scientific Detection: EAR/MAR thresholds over MediaPipe FaceLandmarker output
The app originally shipped with a local Flask/Python backend for the computer-vision inference. That backend (app.py, requirements.txt, autoInstall.bat, installRequirements.bat) has been removed in favor of running detection directly in the frontend via @mediapipe/tasks-vision (src/lib/detector.ts), using MediaPipe's FaceLandmarker (GPU-delegated, WASM runtime) to compute eye/mouth aspect ratios frame-by-frame β no Python, no separate server process.
This migration is still being wrapped up:
detector.tsis written and wired, but hasn't been fully committed/verified end-to-endHome.jsx/Settings.jsxhave in-flight edits adapting the UI to the new in-app pipeline- The old
.envvariables (VITE_API_URL,FLASK_APP) are obsolete now that there's no Flask backend to point at
MediaPipe Tasks Vision β in-app face-landmark detection (replaces the old Python/Flask CV service)
React β UI library
TypeScript β detection/typing layer
Vite β frontend build tool
Tailwind CSS β utility-first styling
Motion β smooth UI animations
Tauri β native desktop app packaging, tray icon, and shell/fs plugins
src/
βββ lib/
β βββ detector.ts # In-app MediaPipe FaceLandmarker-based drowsiness detection
βββ pages/ # Home, Settings
βββ components/ # Tray, Lamp, Video UI components
βββ assets/sounds/ # Alert sounds (sound1..sound5.mp3)
public/
src-tauri/ # Tauri native app configuration (tray, fs, shell)
vite.config.js
tailwind.config.js
git clone https://github.com/mohaneddz/Waeky-Waeky
cd Waeky-Waeky
npm installNo Python setup is required anymore β the old Flask backend steps have been removed.
npm run devOr run the full desktop shell:
npm run tauri devnpm run build
npm run tauri build- Fork the repo
- Create a branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m "Add feature") - Push (
git push origin feature/amazing-feature) - Open a Pull Request
Licensed under MIT License β see the LICENSE file.

