Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Eyeris

Real-time Eye Health Monitoring & Blink Detection Platform

Eyeris is a comprehensive, cross-platform eye tracking solution leveraging Google's MediaPipe for real-time facial landmark detection and eye blink analysis. Designed to help reduce eye strain by monitoring blink rates and reminding users to take breaks following the 20-20-20 rule.

GitHub Release License: AGPL-3.0

πŸ“₯ Downloads

Platform Formats
Windows Installer (.exe), MSI, Portable
macOS DMG (Apple Silicon & Intel)
Linux .deb, .rpm, AppImage
Android APK
Web Use directly in browser

πŸ‘‰ Download Latest Release Β· All Releases

🌟 Overview

Eyeris uses advanced AI-powered computer vision to detect and analyze eye movements and blink patterns in real-time. Built with MediaPipe's Face Landmarker model, it provides accurate facial tracking with minimal computational overhead, making it suitable for various applications including eye strain monitoring, accessibility tools, and interactive experiences.

πŸ“± Platforms

Android

Native Android application with real-time camera processing, analytics, exercises, and customizable themes.

Key Features:

  • Real-time face landmark detection and eye tracking
  • Comprehensive analytics dashboard with blink tracking
  • Eye exercise routines for eye health
  • 13 customizable color themes
  • Material Design UI with bottom navigation
  • Settings for personalization and data management
  • Extensible and modular architecture

Tech Stack:

  • Kotlin & Java
  • AndroidX & Material Components
  • MediaPipe Face Landmarker
  • Navigation Components
  • SQLite for local data storage
  • Gradle for build management

Screenshots & Demo:

Screen Recording Demo

Camera View Analytics Exercises
Screenshot 1 Screenshot 2 Screenshot 3

Desktop (Tauri)

Cross-platform native desktop application built with Tauri v2, offering lightweight performance and modern web-based UI.

Key Features:

  • Native performance with minimal resource usage (~10MB app size)
  • Real-time eye blink detection and tracking
  • 20-20-20 rule break reminders for eye health
  • Eye strain level monitoring
  • Interactive Chart.js visualizations
  • Session analytics and history
  • Offline support with bundled MediaPipe model

Tech Stack:

  • Tauri v2 (Rust backend)
  • HTML/CSS/JavaScript frontend
  • MediaPipe Vision Tasks
  • Chart.js for data visualization
  • LocalStorage for data persistence

Web

Browser-based eye tracking application with Chart.js visualizations.

Key Features:

  • Real-time facial landmark detection in browser
  • Eye blink tracking with temporal analysis
  • Interactive Chart.js visualizations
  • LocalStorage for data persistence
  • Responsive design
  • No installation required

Tech Stack:

  • Vanilla JavaScript (ES6 modules)
  • MediaPipe Vision Tasks (Web)
  • Chart.js with Moment.js adapter for time-series
  • HTML5 Canvas for rendering
  • Web Workers for performance optimization

πŸš€ Getting Started

Android

Prerequisites:

  • Android Studio (Koala | 2024.1.1 Patch 1 or later)
  • Android SDK with minimum API level support
  • Gradle 8.x

Setup:

git clone https://github.com/imnexerio/eyeris.git
cd eyeris/Android
# Open in Android Studio
# Sync Gradle and build
# Run on device or emulator

Desktop (Tauri)

Prerequisites:

Setup:

git clone https://github.com/imnexerio/eyeris.git
cd eyeris/Tauri

# Install dependencies
npm install

# Run in development mode
npm run tauri dev

# Build for production
npm run tauri build

Built executables will be in src-tauri/target/release/bundle/.

Web

Setup:

git clone https://github.com/imnexerio/eyeris.git
cd eyeris/Web

# Serve with any HTTP server, e.g.:
python -m http.server 8000
# Or use Live Server extension in VS Code

# Open browser to http://localhost:8000/home.html

Note: Requires HTTPS or localhost for camera access due to browser security policies.

πŸ“Š Features Comparison

Feature Android Desktop (Tauri) Web
Real-time Detection βœ… βœ… βœ…
Offline Support βœ… βœ… βœ… (after first load)
20-20-20 Break Reminders βœ… βœ… βœ…
Eye Strain Monitoring βœ… βœ… βœ…
Data Analytics βœ… βœ… βœ…
Native Performance βœ… βœ… ⚠️
Installation Required βœ… βœ… ❌
Platforms Android Win/Mac/Linux Any Browser
App Size ~15MB ~10MB N/A

πŸ› οΈ Technology Stack

Core:

  • MediaPipe Face Landmarker: Google's ML solution for facial landmark detection
  • Real-time video processing with minimal latency
  • Support for 478 facial landmarks

Platform-Specific:

  • Android: Kotlin, AndroidX, Material Design
  • Desktop (Tauri): Rust, Tauri v2, HTML/CSS/JS, Chart.js
  • Web: JavaScript ES6, Chart.js, Service Workers

πŸ“ Project Structure

Eyeris/
β”œβ”€β”€ Android/           # Native Android application
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   └── src/
β”‚   β”‚       └── main/
β”‚   β”‚           β”œβ”€β”€ java/com/imnexerio/eyeris/
β”‚   β”‚           β”‚   β”œβ”€β”€ MainActivity.kt
β”‚   β”‚           β”‚   β”œβ”€β”€ fragments/
β”‚   β”‚           β”‚   β”œβ”€β”€ helpers/
β”‚   β”‚           β”‚   β”œβ”€β”€ services/
β”‚   β”‚           β”‚   └── views/
β”‚   β”‚           β”œβ”€β”€ res/          # Resources, layouts, themes
β”‚   β”‚           └── assets/       # ML model files
β”‚   └── README.md
β”œβ”€β”€ Tauri/             # Native desktop app
β”‚   β”œβ”€β”€ src-tauri/     # Rust backend
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ Cargo.toml
β”‚   β”‚   └── tauri.conf.json
β”‚   └── package.json
β”œβ”€β”€ Web/               # Browser-based application
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ script.js
β”‚   β”œβ”€β”€ styles.css
β”‚   β”œβ”€β”€ sw.js          # Service Worker for offline
β”‚   β”œβ”€β”€ lib/           # Local libraries (MediaPipe, Chart.js)
β”‚   └── assets/        # ML model file
β”œβ”€β”€ .github/workflows/ # CI/CD for automated builds
β”œβ”€β”€ LICENSE            # AGPL-3.0
└── README.md          # This file

🀝 Contributing

We welcome contributions from the community! Whether it's:

  • Bug reports and feature requests
  • Code contributions via pull requests
  • Documentation improvements
  • Testing and feedback

Please feel free to open issues or submit PRs.

πŸ“„ License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.

Key Points:

  • Free to use, modify, and distribute
  • Source code must be made available when distributed
  • Network use is considered distribution (AGPL requirement)
  • Modifications must also be licensed under AGPL-3.0

πŸ™ Acknowledgments

  • MediaPipe by Google AI - For the powerful face landmarker model
  • Tauri - Lightweight framework for cross-platform desktop apps
  • Chart.js - Beautiful JavaScript charting library
  • All contributors and users of the Eyeris project

πŸ“ž Contact & Links


Made with ❀️ for eye health and reducing digital eye strain