Repository files navigation

GestureSmart 🤲👁️🗣️

An AI-powered mobile accessibility system designed for users with motor and visual impairments, enabling touch-free interaction through gesture recognition, voice commands, and eye-tracking.

📱 Overview

GestureSmart bridges the accessibility gap in mobile interfaces by offering an inclusive and adaptive system that enables users to control mobile devices through gestures, voice, or eye movements. This combination of AI technologies ensures usability across diverse environments and offers users the freedom to choose their preferred interaction mode.

📸 App Screenshots

Explore the GestureSmart interface and features through our comprehensive screenshot gallery:

Main Interface & Navigation

Screenshot 1Screenshot 2Screenshot 3Screenshot 4
Screenshot 5Screenshot 6Screenshot 7Screenshot 8
Screenshot 9Screenshot 10Screenshot 11Screenshot 12
Screenshot 13Screenshot 14Screenshot 15Screenshot 16
Screenshot 17Screenshot 18Screenshot 19Screenshot 20
Screenshot 21

✨ Key Features

🎯 Multi-Modal Control

  • Gesture Control Hand-based navigation using MediaPipe Gestures and HandPose
  • Voice Commands Real-time speech input via AssemblyAI API
  • Eye Tracking MediaPipe FaceMesh-based gaze and blink detection for UI control
  • Seamless Mode Switching Intelligent fallback mechanisms between input modes

🔒 Privacy-Focused Design

  • No personal data collection - only anonymized device tokens and session logs
  • On-device processing for core gesture features
  • Encrypted communication using HTTPS
  • WCAG 2.1 compliant accessibility standards

📱 Offline Capabilities

  • Core gesture features work offline using on-device TensorFlow Lite models
  • Ideal for rural or low-connectivity areas
  • Ensures privacy and usability without internet dependency

🎨 Accessibility-First UI

  • Designed following WCAG 2.1 principles for inclusive design
  • Voice alerts and audio cues for visual feedback
  • Minimal visual clutter to support users with cognitive or visual impairments

🏗️ Technology Stack

Frontend & Mobile

  • Expo SDK 53 - React Native development platform
  • React Native 0.79.5 - Cross-platform mobile framework
  • React 19.0.0 - Latest React version
  • TypeScript 5.8.3 - Type-safe JavaScript development
  • Custom Java Native Code - Platform-specific optimizations
  • Expo Prebuild - Custom native code integration

Backend & Database

  • Node.js - Server-side runtime
  • MongoDB Atlas - Cloud database for session data
  • Express.js - Web application framework
  • Redux Toolkit - State management
  • Async Storage - Local data persistence

AI/ML & Computer Vision

  • MediaPipe Gestures - Real-time gesture recognition
  • MediaPipe HandPose - Hand landmark detection
  • MediaPipe FaceMesh - Eye tracking and facial analysis
  • Google ML Kit Face Detection - Enhanced face tracking capabilities
  • Custom Java Native Modules - Optimized ML processing
  • TensorFlow Lite - On-device machine learning
  • AssemblyAI - Voice recognition and speech-to-text

🤖 AI Models & APIs Documentation

Hand Gesture Recognition

MediaPipe Hand Landmarker & Gesture Recognizer

Eye Tracking & Face Detection

Google ML Kit Face Detection

  • Documentation: ML Kit Vision Face Detection
  • Features: Real-time face mesh analysis, eye gaze tracking, blink detection
  • Privacy: On-device processing with no data transmission

Voice Recognition

AssemblyAI Speech-to-Text

  • Service: AssemblyAI Platform
  • Features: Real-time transcription, noise filtering, multi-language support
  • Usage: Voice command processing and accessibility features

⚙️ Server Configuration

Environment Variables

PORT=8000MONGO_URI=your_mongodb_connection_stringTOKEN_KEY=your_jwt_secret_keyAPP_NAME=Gesture Smart ServerEmailHost=smtp.gmail.comEmailPort=587EmailSecured=falseEmailUser=your_email_addressEmailPass=your_email_passwordCLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_KEY=your_cloudinary_api_keyCLOUDINARY_SECRET=your_cloudinary_api_secretENVIRONMENT=DEV

Required API Keys

  1. MongoDB Atlas - Database connection
  2. AssemblyAI - Voice recognition (Get API Key)
  3. Cloudinary - Image/media storage
  4. Email Service - Notification system

📊 Performance Metrics

The system demonstrates high reliability across key performance indicators:

  • Precision High accuracy in controlled environments
  • Accuracy Consistent performance across different input modes
  • Recall Effective detection of user intents
  • TNR (True Negative Rate) Robust false positive filtering
  • Fallback Reliability Seamless mode switching preserves usability

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI (latest version)
  • Android Studio / Xcode
  • EAS CLI (for builds)
  • MongoDB Atlas account
  • AssemblyAI account
  • Java Development Kit (for custom native modules)

Installation

  1. Clone the repository

    git clone https://github.com/ateebnoone/gesturesmart.git
    cd MobileApp
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Configuration

    • Add your API keys in src/constants/api_keys.ts
    • Configure server environment variables as shown above
  4. Prebuild with custom native code

    yarn prebuild
    # This will backup native code, run expo prebuild, and restore custom native modules
  5. Start the development server

    yarn start
    # or
    npx expo start
  6. Run on device/simulator

    # For Android
    yarn android

🏗️ Building for Production

Using EAS Build (Recommended)

# Build for Android
yarn buildCloud

🔧 System Architecture

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Expo/RN App │ │ Node.js │ │ MongoDB Atlas │
│ (TypeScript) │◄──►│ Backend │◄──►│ Database │
│ + Custom Java │ │ (Express.js) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Native Modules│ │ Cloud Services │
│ • MP Gestures │ │ • AssemblyAI │
│ • MP HandPose │ │ • EAS Build │
│ • MP FaceMesh │ │ • Expo Services │
│ • Custom Java │ │ • Push Notifs │
└─────────────────┘ └─────────────────┘

Component Architecture

┌─────────────────────────────────────────────────────────┐
│ React Native App │
├─────────────────────────────────────────────────────────┤
│ Navigation Layer (React Navigation + Drawer) │
├─────────────────────────────────────────────────────────┤
│ State Management (Redux Toolkit + Async Storage) │
├─────────────────────────────────────────────────────────┤
│ Feature Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gesture │ │ Voice │ │ Eye Track │ │
│ │ Detection │ │ Commands │ │ (FaceMesh)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Native Bridge (Custom Java + Expo Modules) │
├─────────────────────────────────────────────────────────┤
│ Platform APIs (Camera, Microphone, Sensors) │
└─────────────────────────────────────────────────────────┘

🧠 AI Model Training

Datasets Used

  • Gesture Recognition Annotated video frames of hand movements for swipes, taps, and zoom actions using MediaPipe HandPose landmarks
  • Voice Commands Pre-recorded datasets with varying accents and environmental conditions processed through AssemblyAI
  • Eye Tracking Facial landmark datasets for gaze direction and blinking pattern detection using MediaPipe FaceMesh

Model Architecture

  • Preprocessing Data normalization and augmentation
  • Framework MediaPipe Gestures, HandPose, and FaceMesh with deep learning integration
  • Training Metrics Accuracy, Precision, Recall, and F1-Score optimization

🏗️ Architecture & Custom Implementation

Expo Prebuild Integration

GestureSmart utilizes Expo's managed workflow with custom native code integration:

  • Expo SDK 53 Latest managed workflow benefits
  • Custom Java Modules Performance-critical ML processing
  • Automated Build Scripts Backup/restore native code during prebuild
  • EAS Build Cloud-based compilation for production builds

Native Code Integration

# Custom scripts for native code management
yarn backup-native # Backup custom native modules
yarn restore-native # Restore after prebuild
yarn prebuild # Full prebuild with native code preservation

State Management Architecture

  • Redux Toolkit Centralized state management
  • Async Storage Persistent local data storage
  • React Navigation Multi-screen navigation with drawer
  • Background Actions Continuous gesture recognition

🎯 Use Cases

Primary Users

  • Individuals with motor impairments
  • Visually impaired users
  • Users with speech difficulties
  • Elderly users seeking simplified interfaces

Environments

  • Noisy Environments Voice recognition with noise filtering
  • Low-Light Conditions Gesture and eye-tracking alternatives
  • Dynamic Settings Adaptive mode switching based on context
  • Offline Scenarios Core functionality without internet dependency

🔮 Future Enhancements

🎨 Custom Gesture Learning

  • Enable users to create personalized hand gestures
  • On-device ML training for privacy and adaptability
  • Tailored gestures based on individual mobility needs

📱 Braille via Haptic Feedback

  • Vibration-based tactile cues to simulate Braille
  • Navigate interface without visual or audio support
  • Enhanced accessibility for blind users

⚡ On-Device ML Optimization

  • Lightweight, personalized models
  • Improved accuracy and responsiveness
  • Reduced cloud dependency for better privacy

🌍 Multilingual & NLP Support

  • Regional language support (Urdu, Hindi, Pashto, etc.)
  • Right-to-left (RTL) text support
  • Localized content for global accessibility

🧪 Testing & Validation

The system underwent extensive testing across:

  • Controlled Environments Laboratory conditions with optimal lighting and minimal noise
  • Real-World Scenarios Varied lighting, background noise, and user movement
  • Accessibility Compliance WCAG 2.1 guidelines adherence
  • Cross-Platform Compatibility iOS and Android device testing

🤝 Contributing

We welcome contributions to make GestureSmart more accessible and inclusive! Please read our Contributing Guidelines before submitting pull requests.

Development Guidelines

  1. Follow Expo and React Native best practices
  2. Ensure accessibility compliance in all features
  3. Test custom native modules on multiple devices
  4. Use TypeScript for type safety
  5. Maintain clean Redux state architecture
  6. Document native code integrations
  7. Test prebuild process before major releases

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact & Support

Developer: Atib Ur Rehman

🙏 Acknowledgments

Special thanks to all the testers and accessibility advocates who provided valuable feedback during development and testing phases. Your insights were crucial in making GestureSmart truly inclusive.

📈 Project Status

GestureSmart is actively maintained and continuously improved. The system has demonstrated technical and commercial viability as a scalable accessibility solution through extensive real-world testing.


Building technology that empowers everyone to interact with the digital world, regardless of their physical abilities.

About

No description, website, or topics provided.

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

GestureSmart 🤲👁️🗣️

An AI-powered mobile accessibility system designed for users with motor and visual impairments, enabling touch-free interaction through gesture recognition, voice commands, and eye-tracking.

📱 Overview

GestureSmart bridges the accessibility gap in mobile interfaces by offering an inclusive and adaptive system that enables users to control mobile devices through gestures, voice, or eye movements. This combination of AI technologies ensures usability across diverse environments and offers users the freedom to choose their preferred interaction mode.

📸 App Screenshots

Explore the GestureSmart interface and features through our comprehensive screenshot gallery:

Main Interface & Navigation

Screenshot 1Screenshot 2Screenshot 3Screenshot 4
Screenshot 5Screenshot 6Screenshot 7Screenshot 8
Screenshot 9Screenshot 10Screenshot 11Screenshot 12
Screenshot 13Screenshot 14Screenshot 15Screenshot 16
Screenshot 17Screenshot 18Screenshot 19Screenshot 20
Screenshot 21

✨ Key Features

🎯 Multi-Modal Control

  • Gesture Control Hand-based navigation using MediaPipe Gestures and HandPose
  • Voice Commands Real-time speech input via AssemblyAI API
  • Eye Tracking MediaPipe FaceMesh-based gaze and blink detection for UI control
  • Seamless Mode Switching Intelligent fallback mechanisms between input modes

🔒 Privacy-Focused Design

  • No personal data collection - only anonymized device tokens and session logs
  • On-device processing for core gesture features
  • Encrypted communication using HTTPS
  • WCAG 2.1 compliant accessibility standards

📱 Offline Capabilities

  • Core gesture features work offline using on-device TensorFlow Lite models
  • Ideal for rural or low-connectivity areas
  • Ensures privacy and usability without internet dependency

🎨 Accessibility-First UI

  • Designed following WCAG 2.1 principles for inclusive design
  • Voice alerts and audio cues for visual feedback
  • Minimal visual clutter to support users with cognitive or visual impairments

🏗️ Technology Stack

Frontend & Mobile

  • Expo SDK 53 - React Native development platform
  • React Native 0.79.5 - Cross-platform mobile framework
  • React 19.0.0 - Latest React version
  • TypeScript 5.8.3 - Type-safe JavaScript development
  • Custom Java Native Code - Platform-specific optimizations
  • Expo Prebuild - Custom native code integration

Backend & Database

  • Node.js - Server-side runtime
  • MongoDB Atlas - Cloud database for session data
  • Express.js - Web application framework
  • Redux Toolkit - State management
  • Async Storage - Local data persistence

AI/ML & Computer Vision

  • MediaPipe Gestures - Real-time gesture recognition
  • MediaPipe HandPose - Hand landmark detection
  • MediaPipe FaceMesh - Eye tracking and facial analysis
  • Google ML Kit Face Detection - Enhanced face tracking capabilities
  • Custom Java Native Modules - Optimized ML processing
  • TensorFlow Lite - On-device machine learning
  • AssemblyAI - Voice recognition and speech-to-text

🤖 AI Models & APIs Documentation

Hand Gesture Recognition

MediaPipe Hand Landmarker & Gesture Recognizer

Eye Tracking & Face Detection

Google ML Kit Face Detection

  • Documentation: ML Kit Vision Face Detection
  • Features: Real-time face mesh analysis, eye gaze tracking, blink detection
  • Privacy: On-device processing with no data transmission

Voice Recognition

AssemblyAI Speech-to-Text

  • Service: AssemblyAI Platform
  • Features: Real-time transcription, noise filtering, multi-language support
  • Usage: Voice command processing and accessibility features

⚙️ Server Configuration

Environment Variables

PORT=8000MONGO_URI=your_mongodb_connection_stringTOKEN_KEY=your_jwt_secret_keyAPP_NAME=Gesture Smart ServerEmailHost=smtp.gmail.comEmailPort=587EmailSecured=falseEmailUser=your_email_addressEmailPass=your_email_passwordCLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_KEY=your_cloudinary_api_keyCLOUDINARY_SECRET=your_cloudinary_api_secretENVIRONMENT=DEV

Required API Keys

  1. MongoDB Atlas - Database connection
  2. AssemblyAI - Voice recognition (Get API Key)
  3. Cloudinary - Image/media storage
  4. Email Service - Notification system

📊 Performance Metrics

The system demonstrates high reliability across key performance indicators:

  • Precision High accuracy in controlled environments
  • Accuracy Consistent performance across different input modes
  • Recall Effective detection of user intents
  • TNR (True Negative Rate) Robust false positive filtering
  • Fallback Reliability Seamless mode switching preserves usability

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI (latest version)
  • Android Studio / Xcode
  • EAS CLI (for builds)
  • MongoDB Atlas account
  • AssemblyAI account
  • Java Development Kit (for custom native modules)

Installation

  1. Clone the repository

    git clone https://github.com/ateebnoone/gesturesmart.git
    cd MobileApp
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Configuration

    • Add your API keys in src/constants/api_keys.ts
    • Configure server environment variables as shown above
  4. Prebuild with custom native code

    yarn prebuild
    # This will backup native code, run expo prebuild, and restore custom native modules
  5. Start the development server

    yarn start
    # or
    npx expo start
  6. Run on device/simulator

    # For Android
    yarn android

🏗️ Building for Production

Using EAS Build (Recommended)

# Build for Android
yarn buildCloud

🔧 System Architecture

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Expo/RN App │ │ Node.js │ │ MongoDB Atlas │
│ (TypeScript) │◄──►│ Backend │◄──►│ Database │
│ + Custom Java │ │ (Express.js) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Native Modules│ │ Cloud Services │
│ • MP Gestures │ │ • AssemblyAI │
│ • MP HandPose │ │ • EAS Build │
│ • MP FaceMesh │ │ • Expo Services │
│ • Custom Java │ │ • Push Notifs │
└─────────────────┘ └─────────────────┘

Component Architecture

┌─────────────────────────────────────────────────────────┐
│ React Native App │
├─────────────────────────────────────────────────────────┤
│ Navigation Layer (React Navigation + Drawer) │
├─────────────────────────────────────────────────────────┤
│ State Management (Redux Toolkit + Async Storage) │
├─────────────────────────────────────────────────────────┤
│ Feature Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gesture │ │ Voice │ │ Eye Track │ │
│ │ Detection │ │ Commands │ │ (FaceMesh)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Native Bridge (Custom Java + Expo Modules) │
├─────────────────────────────────────────────────────────┤
│ Platform APIs (Camera, Microphone, Sensors) │
└─────────────────────────────────────────────────────────┘

🧠 AI Model Training

Datasets Used

  • Gesture Recognition Annotated video frames of hand movements for swipes, taps, and zoom actions using MediaPipe HandPose landmarks
  • Voice Commands Pre-recorded datasets with varying accents and environmental conditions processed through AssemblyAI
  • Eye Tracking Facial landmark datasets for gaze direction and blinking pattern detection using MediaPipe FaceMesh

Model Architecture

  • Preprocessing Data normalization and augmentation
  • Framework MediaPipe Gestures, HandPose, and FaceMesh with deep learning integration
  • Training Metrics Accuracy, Precision, Recall, and F1-Score optimization

🏗️ Architecture & Custom Implementation

Expo Prebuild Integration

GestureSmart utilizes Expo's managed workflow with custom native code integration:

  • Expo SDK 53 Latest managed workflow benefits
  • Custom Java Modules Performance-critical ML processing
  • Automated Build Scripts Backup/restore native code during prebuild
  • EAS Build Cloud-based compilation for production builds

Native Code Integration

# Custom scripts for native code management
yarn backup-native # Backup custom native modules
yarn restore-native # Restore after prebuild
yarn prebuild # Full prebuild with native code preservation

State Management Architecture

  • Redux Toolkit Centralized state management
  • Async Storage Persistent local data storage
  • React Navigation Multi-screen navigation with drawer
  • Background Actions Continuous gesture recognition

🎯 Use Cases

Primary Users

  • Individuals with motor impairments
  • Visually impaired users
  • Users with speech difficulties
  • Elderly users seeking simplified interfaces

Environments

  • Noisy Environments Voice recognition with noise filtering
  • Low-Light Conditions Gesture and eye-tracking alternatives
  • Dynamic Settings Adaptive mode switching based on context
  • Offline Scenarios Core functionality without internet dependency

🔮 Future Enhancements

🎨 Custom Gesture Learning

  • Enable users to create personalized hand gestures
  • On-device ML training for privacy and adaptability
  • Tailored gestures based on individual mobility needs

📱 Braille via Haptic Feedback

  • Vibration-based tactile cues to simulate Braille
  • Navigate interface without visual or audio support
  • Enhanced accessibility for blind users

⚡ On-Device ML Optimization

  • Lightweight, personalized models
  • Improved accuracy and responsiveness
  • Reduced cloud dependency for better privacy

🌍 Multilingual & NLP Support

  • Regional language support (Urdu, Hindi, Pashto, etc.)
  • Right-to-left (RTL) text support
  • Localized content for global accessibility

🧪 Testing & Validation

The system underwent extensive testing across:

  • Controlled Environments Laboratory conditions with optimal lighting and minimal noise
  • Real-World Scenarios Varied lighting, background noise, and user movement
  • Accessibility Compliance WCAG 2.1 guidelines adherence
  • Cross-Platform Compatibility iOS and Android device testing

🤝 Contributing

We welcome contributions to make GestureSmart more accessible and inclusive! Please read our Contributing Guidelines before submitting pull requests.

Development Guidelines

  1. Follow Expo and React Native best practices
  2. Ensure accessibility compliance in all features
  3. Test custom native modules on multiple devices
  4. Use TypeScript for type safety
  5. Maintain clean Redux state architecture
  6. Document native code integrations
  7. Test prebuild process before major releases

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact & Support

Developer: Atib Ur Rehman

🙏 Acknowledgments

Special thanks to all the testers and accessibility advocates who provided valuable feedback during development and testing phases. Your insights were crucial in making GestureSmart truly inclusive.

📈 Project Status

GestureSmart is actively maintained and continuously improved. The system has demonstrated technical and commercial viability as a scalable accessibility solution through extensive real-world testing.


Building technology that empowers everyone to interact with the digital world, regardless of their physical abilities.

About

No description, website, or topics provided.

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

GestureSmart 🤲👁️🗣️

An AI-powered mobile accessibility system designed for users with motor and visual impairments, enabling touch-free interaction through gesture recognition, voice commands, and eye-tracking.

📱 Overview

GestureSmart bridges the accessibility gap in mobile interfaces by offering an inclusive and adaptive system that enables users to control mobile devices through gestures, voice, or eye movements. This combination of AI technologies ensures usability across diverse environments and offers users the freedom to choose their preferred interaction mode.

📸 App Screenshots

Explore the GestureSmart interface and features through our comprehensive screenshot gallery:

Main Interface & Navigation

Screenshot 1Screenshot 2Screenshot 3Screenshot 4
Screenshot 5Screenshot 6Screenshot 7Screenshot 8
Screenshot 9Screenshot 10Screenshot 11Screenshot 12
Screenshot 13Screenshot 14Screenshot 15Screenshot 16
Screenshot 17Screenshot 18Screenshot 19Screenshot 20
Screenshot 21

✨ Key Features

🎯 Multi-Modal Control

  • Gesture Control Hand-based navigation using MediaPipe Gestures and HandPose
  • Voice Commands Real-time speech input via AssemblyAI API
  • Eye Tracking MediaPipe FaceMesh-based gaze and blink detection for UI control
  • Seamless Mode Switching Intelligent fallback mechanisms between input modes

🔒 Privacy-Focused Design

  • No personal data collection - only anonymized device tokens and session logs
  • On-device processing for core gesture features
  • Encrypted communication using HTTPS
  • WCAG 2.1 compliant accessibility standards

📱 Offline Capabilities

  • Core gesture features work offline using on-device TensorFlow Lite models
  • Ideal for rural or low-connectivity areas
  • Ensures privacy and usability without internet dependency

🎨 Accessibility-First UI

  • Designed following WCAG 2.1 principles for inclusive design
  • Voice alerts and audio cues for visual feedback
  • Minimal visual clutter to support users with cognitive or visual impairments

🏗️ Technology Stack

Frontend & Mobile

  • Expo SDK 53 - React Native development platform
  • React Native 0.79.5 - Cross-platform mobile framework
  • React 19.0.0 - Latest React version
  • TypeScript 5.8.3 - Type-safe JavaScript development
  • Custom Java Native Code - Platform-specific optimizations
  • Expo Prebuild - Custom native code integration

Backend & Database

  • Node.js - Server-side runtime
  • MongoDB Atlas - Cloud database for session data
  • Express.js - Web application framework
  • Redux Toolkit - State management
  • Async Storage - Local data persistence

AI/ML & Computer Vision

  • MediaPipe Gestures - Real-time gesture recognition
  • MediaPipe HandPose - Hand landmark detection
  • MediaPipe FaceMesh - Eye tracking and facial analysis
  • Google ML Kit Face Detection - Enhanced face tracking capabilities
  • Custom Java Native Modules - Optimized ML processing
  • TensorFlow Lite - On-device machine learning
  • AssemblyAI - Voice recognition and speech-to-text

🤖 AI Models & APIs Documentation

Hand Gesture Recognition

MediaPipe Hand Landmarker & Gesture Recognizer

Eye Tracking & Face Detection

Google ML Kit Face Detection

  • Documentation: ML Kit Vision Face Detection
  • Features: Real-time face mesh analysis, eye gaze tracking, blink detection
  • Privacy: On-device processing with no data transmission

Voice Recognition

AssemblyAI Speech-to-Text

  • Service: AssemblyAI Platform
  • Features: Real-time transcription, noise filtering, multi-language support
  • Usage: Voice command processing and accessibility features

⚙️ Server Configuration

Environment Variables

PORT=8000MONGO_URI=your_mongodb_connection_stringTOKEN_KEY=your_jwt_secret_keyAPP_NAME=Gesture Smart ServerEmailHost=smtp.gmail.comEmailPort=587EmailSecured=falseEmailUser=your_email_addressEmailPass=your_email_passwordCLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_KEY=your_cloudinary_api_keyCLOUDINARY_SECRET=your_cloudinary_api_secretENVIRONMENT=DEV

Required API Keys

  1. MongoDB Atlas - Database connection
  2. AssemblyAI - Voice recognition (Get API Key)
  3. Cloudinary - Image/media storage
  4. Email Service - Notification system

📊 Performance Metrics

The system demonstrates high reliability across key performance indicators:

  • Precision High accuracy in controlled environments
  • Accuracy Consistent performance across different input modes
  • Recall Effective detection of user intents
  • TNR (True Negative Rate) Robust false positive filtering
  • Fallback Reliability Seamless mode switching preserves usability

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI (latest version)
  • Android Studio / Xcode
  • EAS CLI (for builds)
  • MongoDB Atlas account
  • AssemblyAI account
  • Java Development Kit (for custom native modules)

Installation

  1. Clone the repository

    git clone https://github.com/ateebnoone/gesturesmart.git
    cd MobileApp
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Configuration

    • Add your API keys in src/constants/api_keys.ts
    • Configure server environment variables as shown above
  4. Prebuild with custom native code

    yarn prebuild
    # This will backup native code, run expo prebuild, and restore custom native modules
  5. Start the development server

    yarn start
    # or
    npx expo start
  6. Run on device/simulator

    # For Android
    yarn android

🏗️ Building for Production

Using EAS Build (Recommended)

# Build for Android
yarn buildCloud

🔧 System Architecture

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Expo/RN App │ │ Node.js │ │ MongoDB Atlas │
│ (TypeScript) │◄──►│ Backend │◄──►│ Database │
│ + Custom Java │ │ (Express.js) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Native Modules│ │ Cloud Services │
│ • MP Gestures │ │ • AssemblyAI │
│ • MP HandPose │ │ • EAS Build │
│ • MP FaceMesh │ │ • Expo Services │
│ • Custom Java │ │ • Push Notifs │
└─────────────────┘ └─────────────────┘

Component Architecture

┌─────────────────────────────────────────────────────────┐
│ React Native App │
├─────────────────────────────────────────────────────────┤
│ Navigation Layer (React Navigation + Drawer) │
├─────────────────────────────────────────────────────────┤
│ State Management (Redux Toolkit + Async Storage) │
├─────────────────────────────────────────────────────────┤
│ Feature Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gesture │ │ Voice │ │ Eye Track │ │
│ │ Detection │ │ Commands │ │ (FaceMesh)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Native Bridge (Custom Java + Expo Modules) │
├─────────────────────────────────────────────────────────┤
│ Platform APIs (Camera, Microphone, Sensors) │
└─────────────────────────────────────────────────────────┘

🧠 AI Model Training

Datasets Used

  • Gesture Recognition Annotated video frames of hand movements for swipes, taps, and zoom actions using MediaPipe HandPose landmarks
  • Voice Commands Pre-recorded datasets with varying accents and environmental conditions processed through AssemblyAI
  • Eye Tracking Facial landmark datasets for gaze direction and blinking pattern detection using MediaPipe FaceMesh

Model Architecture

  • Preprocessing Data normalization and augmentation
  • Framework MediaPipe Gestures, HandPose, and FaceMesh with deep learning integration
  • Training Metrics Accuracy, Precision, Recall, and F1-Score optimization

🏗️ Architecture & Custom Implementation

Expo Prebuild Integration

GestureSmart utilizes Expo's managed workflow with custom native code integration:

  • Expo SDK 53 Latest managed workflow benefits
  • Custom Java Modules Performance-critical ML processing
  • Automated Build Scripts Backup/restore native code during prebuild
  • EAS Build Cloud-based compilation for production builds

Native Code Integration

# Custom scripts for native code management
yarn backup-native # Backup custom native modules
yarn restore-native # Restore after prebuild
yarn prebuild # Full prebuild with native code preservation

State Management Architecture

  • Redux Toolkit Centralized state management
  • Async Storage Persistent local data storage
  • React Navigation Multi-screen navigation with drawer
  • Background Actions Continuous gesture recognition

🎯 Use Cases

Primary Users

  • Individuals with motor impairments
  • Visually impaired users
  • Users with speech difficulties
  • Elderly users seeking simplified interfaces

Environments

  • Noisy Environments Voice recognition with noise filtering
  • Low-Light Conditions Gesture and eye-tracking alternatives
  • Dynamic Settings Adaptive mode switching based on context
  • Offline Scenarios Core functionality without internet dependency

🔮 Future Enhancements

🎨 Custom Gesture Learning

  • Enable users to create personalized hand gestures
  • On-device ML training for privacy and adaptability
  • Tailored gestures based on individual mobility needs

📱 Braille via Haptic Feedback

  • Vibration-based tactile cues to simulate Braille
  • Navigate interface without visual or audio support
  • Enhanced accessibility for blind users

⚡ On-Device ML Optimization

  • Lightweight, personalized models
  • Improved accuracy and responsiveness
  • Reduced cloud dependency for better privacy

🌍 Multilingual & NLP Support

  • Regional language support (Urdu, Hindi, Pashto, etc.)
  • Right-to-left (RTL) text support
  • Localized content for global accessibility

🧪 Testing & Validation

The system underwent extensive testing across:

  • Controlled Environments Laboratory conditions with optimal lighting and minimal noise
  • Real-World Scenarios Varied lighting, background noise, and user movement
  • Accessibility Compliance WCAG 2.1 guidelines adherence
  • Cross-Platform Compatibility iOS and Android device testing

🤝 Contributing

We welcome contributions to make GestureSmart more accessible and inclusive! Please read our Contributing Guidelines before submitting pull requests.

Development Guidelines

  1. Follow Expo and React Native best practices
  2. Ensure accessibility compliance in all features
  3. Test custom native modules on multiple devices
  4. Use TypeScript for type safety
  5. Maintain clean Redux state architecture
  6. Document native code integrations
  7. Test prebuild process before major releases

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact & Support

Developer: Atib Ur Rehman

🙏 Acknowledgments

Special thanks to all the testers and accessibility advocates who provided valuable feedback during development and testing phases. Your insights were crucial in making GestureSmart truly inclusive.

📈 Project Status

GestureSmart is actively maintained and continuously improved. The system has demonstrated technical and commercial viability as a scalable accessibility solution through extensive real-world testing.


Building technology that empowers everyone to interact with the digital world, regardless of their physical abilities.

About

No description, website, or topics provided.

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

GestureSmart 🤲👁️🗣️

An AI-powered mobile accessibility system designed for users with motor and visual impairments, enabling touch-free interaction through gesture recognition, voice commands, and eye-tracking.

📱 Overview

GestureSmart bridges the accessibility gap in mobile interfaces by offering an inclusive and adaptive system that enables users to control mobile devices through gestures, voice, or eye movements. This combination of AI technologies ensures usability across diverse environments and offers users the freedom to choose their preferred interaction mode.

📸 App Screenshots

Explore the GestureSmart interface and features through our comprehensive screenshot gallery:

Main Interface & Navigation

Screenshot 1Screenshot 2Screenshot 3Screenshot 4
Screenshot 5Screenshot 6Screenshot 7Screenshot 8
Screenshot 9Screenshot 10Screenshot 11Screenshot 12
Screenshot 13Screenshot 14Screenshot 15Screenshot 16
Screenshot 17Screenshot 18Screenshot 19Screenshot 20
Screenshot 21

✨ Key Features

🎯 Multi-Modal Control

  • Gesture Control Hand-based navigation using MediaPipe Gestures and HandPose
  • Voice Commands Real-time speech input via AssemblyAI API
  • Eye Tracking MediaPipe FaceMesh-based gaze and blink detection for UI control
  • Seamless Mode Switching Intelligent fallback mechanisms between input modes

🔒 Privacy-Focused Design

  • No personal data collection - only anonymized device tokens and session logs
  • On-device processing for core gesture features
  • Encrypted communication using HTTPS
  • WCAG 2.1 compliant accessibility standards

📱 Offline Capabilities

  • Core gesture features work offline using on-device TensorFlow Lite models
  • Ideal for rural or low-connectivity areas
  • Ensures privacy and usability without internet dependency

🎨 Accessibility-First UI

  • Designed following WCAG 2.1 principles for inclusive design
  • Voice alerts and audio cues for visual feedback
  • Minimal visual clutter to support users with cognitive or visual impairments

🏗️ Technology Stack

Frontend & Mobile

  • Expo SDK 53 - React Native development platform
  • React Native 0.79.5 - Cross-platform mobile framework
  • React 19.0.0 - Latest React version
  • TypeScript 5.8.3 - Type-safe JavaScript development
  • Custom Java Native Code - Platform-specific optimizations
  • Expo Prebuild - Custom native code integration

Backend & Database

  • Node.js - Server-side runtime
  • MongoDB Atlas - Cloud database for session data
  • Express.js - Web application framework
  • Redux Toolkit - State management
  • Async Storage - Local data persistence

AI/ML & Computer Vision

  • MediaPipe Gestures - Real-time gesture recognition
  • MediaPipe HandPose - Hand landmark detection
  • MediaPipe FaceMesh - Eye tracking and facial analysis
  • Google ML Kit Face Detection - Enhanced face tracking capabilities
  • Custom Java Native Modules - Optimized ML processing
  • TensorFlow Lite - On-device machine learning
  • AssemblyAI - Voice recognition and speech-to-text

🤖 AI Models & APIs Documentation

Hand Gesture Recognition

MediaPipe Hand Landmarker & Gesture Recognizer

Eye Tracking & Face Detection

Google ML Kit Face Detection

  • Documentation: ML Kit Vision Face Detection
  • Features: Real-time face mesh analysis, eye gaze tracking, blink detection
  • Privacy: On-device processing with no data transmission

Voice Recognition

AssemblyAI Speech-to-Text

  • Service: AssemblyAI Platform
  • Features: Real-time transcription, noise filtering, multi-language support
  • Usage: Voice command processing and accessibility features

⚙️ Server Configuration

Environment Variables

PORT=8000MONGO_URI=your_mongodb_connection_stringTOKEN_KEY=your_jwt_secret_keyAPP_NAME=Gesture Smart ServerEmailHost=smtp.gmail.comEmailPort=587EmailSecured=falseEmailUser=your_email_addressEmailPass=your_email_passwordCLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_KEY=your_cloudinary_api_keyCLOUDINARY_SECRET=your_cloudinary_api_secretENVIRONMENT=DEV

Required API Keys

  1. MongoDB Atlas - Database connection
  2. AssemblyAI - Voice recognition (Get API Key)
  3. Cloudinary - Image/media storage
  4. Email Service - Notification system

📊 Performance Metrics

The system demonstrates high reliability across key performance indicators:

  • Precision High accuracy in controlled environments
  • Accuracy Consistent performance across different input modes
  • Recall Effective detection of user intents
  • TNR (True Negative Rate) Robust false positive filtering
  • Fallback Reliability Seamless mode switching preserves usability

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI (latest version)
  • Android Studio / Xcode
  • EAS CLI (for builds)
  • MongoDB Atlas account
  • AssemblyAI account
  • Java Development Kit (for custom native modules)

Installation

  1. Clone the repository

    git clone https://github.com/ateebnoone/gesturesmart.git
    cd MobileApp
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Configuration

    • Add your API keys in src/constants/api_keys.ts
    • Configure server environment variables as shown above
  4. Prebuild with custom native code

    yarn prebuild
    # This will backup native code, run expo prebuild, and restore custom native modules
  5. Start the development server

    yarn start
    # or
    npx expo start
  6. Run on device/simulator

    # For Android
    yarn android

🏗️ Building for Production

Using EAS Build (Recommended)

# Build for Android
yarn buildCloud

🔧 System Architecture

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Expo/RN App │ │ Node.js │ │ MongoDB Atlas │
│ (TypeScript) │◄──►│ Backend │◄──►│ Database │
│ + Custom Java │ │ (Express.js) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Native Modules│ │ Cloud Services │
│ • MP Gestures │ │ • AssemblyAI │
│ • MP HandPose │ │ • EAS Build │
│ • MP FaceMesh │ │ • Expo Services │
│ • Custom Java │ │ • Push Notifs │
└─────────────────┘ └─────────────────┘

Component Architecture

┌─────────────────────────────────────────────────────────┐
│ React Native App │
├─────────────────────────────────────────────────────────┤
│ Navigation Layer (React Navigation + Drawer) │
├─────────────────────────────────────────────────────────┤
│ State Management (Redux Toolkit + Async Storage) │
├─────────────────────────────────────────────────────────┤
│ Feature Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gesture │ │ Voice │ │ Eye Track │ │
│ │ Detection │ │ Commands │ │ (FaceMesh)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Native Bridge (Custom Java + Expo Modules) │
├─────────────────────────────────────────────────────────┤
│ Platform APIs (Camera, Microphone, Sensors) │
└─────────────────────────────────────────────────────────┘

🧠 AI Model Training

Datasets Used

  • Gesture Recognition Annotated video frames of hand movements for swipes, taps, and zoom actions using MediaPipe HandPose landmarks
  • Voice Commands Pre-recorded datasets with varying accents and environmental conditions processed through AssemblyAI
  • Eye Tracking Facial landmark datasets for gaze direction and blinking pattern detection using MediaPipe FaceMesh

Model Architecture

  • Preprocessing Data normalization and augmentation
  • Framework MediaPipe Gestures, HandPose, and FaceMesh with deep learning integration
  • Training Metrics Accuracy, Precision, Recall, and F1-Score optimization

🏗️ Architecture & Custom Implementation

Expo Prebuild Integration

GestureSmart utilizes Expo's managed workflow with custom native code integration:

  • Expo SDK 53 Latest managed workflow benefits
  • Custom Java Modules Performance-critical ML processing
  • Automated Build Scripts Backup/restore native code during prebuild
  • EAS Build Cloud-based compilation for production builds

Native Code Integration

# Custom scripts for native code management
yarn backup-native # Backup custom native modules
yarn restore-native # Restore after prebuild
yarn prebuild # Full prebuild with native code preservation

State Management Architecture

  • Redux Toolkit Centralized state management
  • Async Storage Persistent local data storage
  • React Navigation Multi-screen navigation with drawer
  • Background Actions Continuous gesture recognition

🎯 Use Cases

Primary Users

  • Individuals with motor impairments
  • Visually impaired users
  • Users with speech difficulties
  • Elderly users seeking simplified interfaces

Environments

  • Noisy Environments Voice recognition with noise filtering
  • Low-Light Conditions Gesture and eye-tracking alternatives
  • Dynamic Settings Adaptive mode switching based on context
  • Offline Scenarios Core functionality without internet dependency

🔮 Future Enhancements

🎨 Custom Gesture Learning

  • Enable users to create personalized hand gestures
  • On-device ML training for privacy and adaptability
  • Tailored gestures based on individual mobility needs

📱 Braille via Haptic Feedback

  • Vibration-based tactile cues to simulate Braille
  • Navigate interface without visual or audio support
  • Enhanced accessibility for blind users

⚡ On-Device ML Optimization

  • Lightweight, personalized models
  • Improved accuracy and responsiveness
  • Reduced cloud dependency for better privacy

🌍 Multilingual & NLP Support

  • Regional language support (Urdu, Hindi, Pashto, etc.)
  • Right-to-left (RTL) text support
  • Localized content for global accessibility

🧪 Testing & Validation

The system underwent extensive testing across:

  • Controlled Environments Laboratory conditions with optimal lighting and minimal noise
  • Real-World Scenarios Varied lighting, background noise, and user movement
  • Accessibility Compliance WCAG 2.1 guidelines adherence
  • Cross-Platform Compatibility iOS and Android device testing

🤝 Contributing

We welcome contributions to make GestureSmart more accessible and inclusive! Please read our Contributing Guidelines before submitting pull requests.

Development Guidelines

  1. Follow Expo and React Native best practices
  2. Ensure accessibility compliance in all features
  3. Test custom native modules on multiple devices
  4. Use TypeScript for type safety
  5. Maintain clean Redux state architecture
  6. Document native code integrations
  7. Test prebuild process before major releases

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact & Support

Developer: Atib Ur Rehman

🙏 Acknowledgments

Special thanks to all the testers and accessibility advocates who provided valuable feedback during development and testing phases. Your insights were crucial in making GestureSmart truly inclusive.

📈 Project Status

GestureSmart is actively maintained and continuously improved. The system has demonstrated technical and commercial viability as a scalable accessibility solution through extensive real-world testing.


Building technology that empowers everyone to interact with the digital world, regardless of their physical abilities.

About

No description, website, or topics provided.

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

GestureSmart 🤲👁️🗣️

An AI-powered mobile accessibility system designed for users with motor and visual impairments, enabling touch-free interaction through gesture recognition, voice commands, and eye-tracking.

📱 Overview

GestureSmart bridges the accessibility gap in mobile interfaces by offering an inclusive and adaptive system that enables users to control mobile devices through gestures, voice, or eye movements. This combination of AI technologies ensures usability across diverse environments and offers users the freedom to choose their preferred interaction mode.

📸 App Screenshots

Explore the GestureSmart interface and features through our comprehensive screenshot gallery:

Main Interface & Navigation

Screenshot 1Screenshot 2Screenshot 3Screenshot 4
Screenshot 5Screenshot 6Screenshot 7Screenshot 8
Screenshot 9Screenshot 10Screenshot 11Screenshot 12
Screenshot 13Screenshot 14Screenshot 15Screenshot 16
Screenshot 17Screenshot 18Screenshot 19Screenshot 20
Screenshot 21

✨ Key Features

🎯 Multi-Modal Control

  • Gesture Control Hand-based navigation using MediaPipe Gestures and HandPose
  • Voice Commands Real-time speech input via AssemblyAI API
  • Eye Tracking MediaPipe FaceMesh-based gaze and blink detection for UI control
  • Seamless Mode Switching Intelligent fallback mechanisms between input modes

🔒 Privacy-Focused Design

  • No personal data collection - only anonymized device tokens and session logs
  • On-device processing for core gesture features
  • Encrypted communication using HTTPS
  • WCAG 2.1 compliant accessibility standards

📱 Offline Capabilities

  • Core gesture features work offline using on-device TensorFlow Lite models
  • Ideal for rural or low-connectivity areas
  • Ensures privacy and usability without internet dependency

🎨 Accessibility-First UI

  • Designed following WCAG 2.1 principles for inclusive design
  • Voice alerts and audio cues for visual feedback
  • Minimal visual clutter to support users with cognitive or visual impairments

🏗️ Technology Stack

Frontend & Mobile

  • Expo SDK 53 - React Native development platform
  • React Native 0.79.5 - Cross-platform mobile framework
  • React 19.0.0 - Latest React version
  • TypeScript 5.8.3 - Type-safe JavaScript development
  • Custom Java Native Code - Platform-specific optimizations
  • Expo Prebuild - Custom native code integration

Backend & Database

  • Node.js - Server-side runtime
  • MongoDB Atlas - Cloud database for session data
  • Express.js - Web application framework
  • Redux Toolkit - State management
  • Async Storage - Local data persistence

AI/ML & Computer Vision

  • MediaPipe Gestures - Real-time gesture recognition
  • MediaPipe HandPose - Hand landmark detection
  • MediaPipe FaceMesh - Eye tracking and facial analysis
  • Google ML Kit Face Detection - Enhanced face tracking capabilities
  • Custom Java Native Modules - Optimized ML processing
  • TensorFlow Lite - On-device machine learning
  • AssemblyAI - Voice recognition and speech-to-text

🤖 AI Models & APIs Documentation

Hand Gesture Recognition

MediaPipe Hand Landmarker & Gesture Recognizer

Eye Tracking & Face Detection

Google ML Kit Face Detection

  • Documentation: ML Kit Vision Face Detection
  • Features: Real-time face mesh analysis, eye gaze tracking, blink detection
  • Privacy: On-device processing with no data transmission

Voice Recognition

AssemblyAI Speech-to-Text

  • Service: AssemblyAI Platform
  • Features: Real-time transcription, noise filtering, multi-language support
  • Usage: Voice command processing and accessibility features

⚙️ Server Configuration

Environment Variables

PORT=8000MONGO_URI=your_mongodb_connection_stringTOKEN_KEY=your_jwt_secret_keyAPP_NAME=Gesture Smart ServerEmailHost=smtp.gmail.comEmailPort=587EmailSecured=falseEmailUser=your_email_addressEmailPass=your_email_passwordCLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_KEY=your_cloudinary_api_keyCLOUDINARY_SECRET=your_cloudinary_api_secretENVIRONMENT=DEV

Required API Keys

  1. MongoDB Atlas - Database connection
  2. AssemblyAI - Voice recognition (Get API Key)
  3. Cloudinary - Image/media storage
  4. Email Service - Notification system

📊 Performance Metrics

The system demonstrates high reliability across key performance indicators:

  • Precision High accuracy in controlled environments
  • Accuracy Consistent performance across different input modes
  • Recall Effective detection of user intents
  • TNR (True Negative Rate) Robust false positive filtering
  • Fallback Reliability Seamless mode switching preserves usability

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI (latest version)
  • Android Studio / Xcode
  • EAS CLI (for builds)
  • MongoDB Atlas account
  • AssemblyAI account
  • Java Development Kit (for custom native modules)

Installation

  1. Clone the repository

    git clone https://github.com/ateebnoone/gesturesmart.git
    cd MobileApp
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Configuration

    • Add your API keys in src/constants/api_keys.ts
    • Configure server environment variables as shown above
  4. Prebuild with custom native code

    yarn prebuild
    # This will backup native code, run expo prebuild, and restore custom native modules
  5. Start the development server

    yarn start
    # or
    npx expo start
  6. Run on device/simulator

    # For Android
    yarn android

🏗️ Building for Production

Using EAS Build (Recommended)

# Build for Android
yarn buildCloud

🔧 System Architecture

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Expo/RN App │ │ Node.js │ │ MongoDB Atlas │
│ (TypeScript) │◄──►│ Backend │◄──►│ Database │
│ + Custom Java │ │ (Express.js) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Native Modules│ │ Cloud Services │
│ • MP Gestures │ │ • AssemblyAI │
│ • MP HandPose │ │ • EAS Build │
│ • MP FaceMesh │ │ • Expo Services │
│ • Custom Java │ │ • Push Notifs │
└─────────────────┘ └─────────────────┘

Component Architecture

┌─────────────────────────────────────────────────────────┐
│ React Native App │
├─────────────────────────────────────────────────────────┤
│ Navigation Layer (React Navigation + Drawer) │
├─────────────────────────────────────────────────────────┤
│ State Management (Redux Toolkit + Async Storage) │
├─────────────────────────────────────────────────────────┤
│ Feature Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gesture │ │ Voice │ │ Eye Track │ │
│ │ Detection │ │ Commands │ │ (FaceMesh)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Native Bridge (Custom Java + Expo Modules) │
├─────────────────────────────────────────────────────────┤
│ Platform APIs (Camera, Microphone, Sensors) │
└─────────────────────────────────────────────────────────┘

🧠 AI Model Training

Datasets Used

  • Gesture Recognition Annotated video frames of hand movements for swipes, taps, and zoom actions using MediaPipe HandPose landmarks
  • Voice Commands Pre-recorded datasets with varying accents and environmental conditions processed through AssemblyAI
  • Eye Tracking Facial landmark datasets for gaze direction and blinking pattern detection using MediaPipe FaceMesh

Model Architecture

  • Preprocessing Data normalization and augmentation
  • Framework MediaPipe Gestures, HandPose, and FaceMesh with deep learning integration
  • Training Metrics Accuracy, Precision, Recall, and F1-Score optimization

🏗️ Architecture & Custom Implementation

Expo Prebuild Integration

GestureSmart utilizes Expo's managed workflow with custom native code integration:

  • Expo SDK 53 Latest managed workflow benefits
  • Custom Java Modules Performance-critical ML processing
  • Automated Build Scripts Backup/restore native code during prebuild
  • EAS Build Cloud-based compilation for production builds

Native Code Integration

# Custom scripts for native code management
yarn backup-native # Backup custom native modules
yarn restore-native # Restore after prebuild
yarn prebuild # Full prebuild with native code preservation

State Management Architecture

  • Redux Toolkit Centralized state management
  • Async Storage Persistent local data storage
  • React Navigation Multi-screen navigation with drawer
  • Background Actions Continuous gesture recognition

🎯 Use Cases

Primary Users

  • Individuals with motor impairments
  • Visually impaired users
  • Users with speech difficulties
  • Elderly users seeking simplified interfaces

Environments

  • Noisy Environments Voice recognition with noise filtering
  • Low-Light Conditions Gesture and eye-tracking alternatives
  • Dynamic Settings Adaptive mode switching based on context
  • Offline Scenarios Core functionality without internet dependency

🔮 Future Enhancements

🎨 Custom Gesture Learning

  • Enable users to create personalized hand gestures
  • On-device ML training for privacy and adaptability
  • Tailored gestures based on individual mobility needs

📱 Braille via Haptic Feedback

  • Vibration-based tactile cues to simulate Braille
  • Navigate interface without visual or audio support
  • Enhanced accessibility for blind users

⚡ On-Device ML Optimization

  • Lightweight, personalized models
  • Improved accuracy and responsiveness
  • Reduced cloud dependency for better privacy

🌍 Multilingual & NLP Support

  • Regional language support (Urdu, Hindi, Pashto, etc.)
  • Right-to-left (RTL) text support
  • Localized content for global accessibility

🧪 Testing & Validation

The system underwent extensive testing across:

  • Controlled Environments Laboratory conditions with optimal lighting and minimal noise
  • Real-World Scenarios Varied lighting, background noise, and user movement
  • Accessibility Compliance WCAG 2.1 guidelines adherence
  • Cross-Platform Compatibility iOS and Android device testing

🤝 Contributing

We welcome contributions to make GestureSmart more accessible and inclusive! Please read our Contributing Guidelines before submitting pull requests.

Development Guidelines

  1. Follow Expo and React Native best practices
  2. Ensure accessibility compliance in all features
  3. Test custom native modules on multiple devices
  4. Use TypeScript for type safety
  5. Maintain clean Redux state architecture
  6. Document native code integrations
  7. Test prebuild process before major releases

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact & Support

Developer: Atib Ur Rehman

🙏 Acknowledgments

Special thanks to all the testers and accessibility advocates who provided valuable feedback during development and testing phases. Your insights were crucial in making GestureSmart truly inclusive.

📈 Project Status

GestureSmart is actively maintained and continuously improved. The system has demonstrated technical and commercial viability as a scalable accessibility solution through extensive real-world testing.


Building technology that empowers everyone to interact with the digital world, regardless of their physical abilities.

About

No description, website, or topics provided.

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

GestureSmart 🤲👁️🗣️

An AI-powered mobile accessibility system designed for users with motor and visual impairments, enabling touch-free interaction through gesture recognition, voice commands, and eye-tracking.

📱 Overview

GestureSmart bridges the accessibility gap in mobile interfaces by offering an inclusive and adaptive system that enables users to control mobile devices through gestures, voice, or eye movements. This combination of AI technologies ensures usability across diverse environments and offers users the freedom to choose their preferred interaction mode.

📸 App Screenshots

Explore the GestureSmart interface and features through our comprehensive screenshot gallery:

Main Interface & Navigation

Screenshot 1Screenshot 2Screenshot 3Screenshot 4
Screenshot 5Screenshot 6Screenshot 7Screenshot 8
Screenshot 9Screenshot 10Screenshot 11Screenshot 12
Screenshot 13Screenshot 14Screenshot 15Screenshot 16
Screenshot 17Screenshot 18Screenshot 19Screenshot 20
Screenshot 21

✨ Key Features

🎯 Multi-Modal Control

  • Gesture Control Hand-based navigation using MediaPipe Gestures and HandPose
  • Voice Commands Real-time speech input via AssemblyAI API
  • Eye Tracking MediaPipe FaceMesh-based gaze and blink detection for UI control
  • Seamless Mode Switching Intelligent fallback mechanisms between input modes

🔒 Privacy-Focused Design

  • No personal data collection - only anonymized device tokens and session logs
  • On-device processing for core gesture features
  • Encrypted communication using HTTPS
  • WCAG 2.1 compliant accessibility standards

📱 Offline Capabilities

  • Core gesture features work offline using on-device TensorFlow Lite models
  • Ideal for rural or low-connectivity areas
  • Ensures privacy and usability without internet dependency

🎨 Accessibility-First UI

  • Designed following WCAG 2.1 principles for inclusive design
  • Voice alerts and audio cues for visual feedback
  • Minimal visual clutter to support users with cognitive or visual impairments

🏗️ Technology Stack

Frontend & Mobile

  • Expo SDK 53 - React Native development platform
  • React Native 0.79.5 - Cross-platform mobile framework
  • React 19.0.0 - Latest React version
  • TypeScript 5.8.3 - Type-safe JavaScript development
  • Custom Java Native Code - Platform-specific optimizations
  • Expo Prebuild - Custom native code integration

Backend & Database

  • Node.js - Server-side runtime
  • MongoDB Atlas - Cloud database for session data
  • Express.js - Web application framework
  • Redux Toolkit - State management
  • Async Storage - Local data persistence

AI/ML & Computer Vision

  • MediaPipe Gestures - Real-time gesture recognition
  • MediaPipe HandPose - Hand landmark detection
  • MediaPipe FaceMesh - Eye tracking and facial analysis
  • Google ML Kit Face Detection - Enhanced face tracking capabilities
  • Custom Java Native Modules - Optimized ML processing
  • TensorFlow Lite - On-device machine learning
  • AssemblyAI - Voice recognition and speech-to-text

🤖 AI Models & APIs Documentation

Hand Gesture Recognition

MediaPipe Hand Landmarker & Gesture Recognizer

Eye Tracking & Face Detection

Google ML Kit Face Detection

  • Documentation: ML Kit Vision Face Detection
  • Features: Real-time face mesh analysis, eye gaze tracking, blink detection
  • Privacy: On-device processing with no data transmission

Voice Recognition

AssemblyAI Speech-to-Text

  • Service: AssemblyAI Platform
  • Features: Real-time transcription, noise filtering, multi-language support
  • Usage: Voice command processing and accessibility features

⚙️ Server Configuration

Environment Variables

PORT=8000MONGO_URI=your_mongodb_connection_stringTOKEN_KEY=your_jwt_secret_keyAPP_NAME=Gesture Smart ServerEmailHost=smtp.gmail.comEmailPort=587EmailSecured=falseEmailUser=your_email_addressEmailPass=your_email_passwordCLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_KEY=your_cloudinary_api_keyCLOUDINARY_SECRET=your_cloudinary_api_secretENVIRONMENT=DEV

Required API Keys

  1. MongoDB Atlas - Database connection
  2. AssemblyAI - Voice recognition (Get API Key)
  3. Cloudinary - Image/media storage
  4. Email Service - Notification system

📊 Performance Metrics

The system demonstrates high reliability across key performance indicators:

  • Precision High accuracy in controlled environments
  • Accuracy Consistent performance across different input modes
  • Recall Effective detection of user intents
  • TNR (True Negative Rate) Robust false positive filtering
  • Fallback Reliability Seamless mode switching preserves usability

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI (latest version)
  • Android Studio / Xcode
  • EAS CLI (for builds)
  • MongoDB Atlas account
  • AssemblyAI account
  • Java Development Kit (for custom native modules)

Installation

  1. Clone the repository

    git clone https://github.com/ateebnoone/gesturesmart.git
    cd MobileApp
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Configuration

    • Add your API keys in src/constants/api_keys.ts
    • Configure server environment variables as shown above
  4. Prebuild with custom native code

    yarn prebuild
    # This will backup native code, run expo prebuild, and restore custom native modules
  5. Start the development server

    yarn start
    # or
    npx expo start
  6. Run on device/simulator

    # For Android
    yarn android

🏗️ Building for Production

Using EAS Build (Recommended)

# Build for Android
yarn buildCloud

🔧 System Architecture

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Expo/RN App │ │ Node.js │ │ MongoDB Atlas │
│ (TypeScript) │◄──►│ Backend │◄──►│ Database │
│ + Custom Java │ │ (Express.js) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Native Modules│ │ Cloud Services │
│ • MP Gestures │ │ • AssemblyAI │
│ • MP HandPose │ │ • EAS Build │
│ • MP FaceMesh │ │ • Expo Services │
│ • Custom Java │ │ • Push Notifs │
└─────────────────┘ └─────────────────┘

Component Architecture

┌─────────────────────────────────────────────────────────┐
│ React Native App │
├─────────────────────────────────────────────────────────┤
│ Navigation Layer (React Navigation + Drawer) │
├─────────────────────────────────────────────────────────┤
│ State Management (Redux Toolkit + Async Storage) │
├─────────────────────────────────────────────────────────┤
│ Feature Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gesture │ │ Voice │ │ Eye Track │ │
│ │ Detection │ │ Commands │ │ (FaceMesh)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Native Bridge (Custom Java + Expo Modules) │
├─────────────────────────────────────────────────────────┤
│ Platform APIs (Camera, Microphone, Sensors) │
└─────────────────────────────────────────────────────────┘

🧠 AI Model Training

Datasets Used

  • Gesture Recognition Annotated video frames of hand movements for swipes, taps, and zoom actions using MediaPipe HandPose landmarks
  • Voice Commands Pre-recorded datasets with varying accents and environmental conditions processed through AssemblyAI
  • Eye Tracking Facial landmark datasets for gaze direction and blinking pattern detection using MediaPipe FaceMesh

Model Architecture

  • Preprocessing Data normalization and augmentation
  • Framework MediaPipe Gestures, HandPose, and FaceMesh with deep learning integration
  • Training Metrics Accuracy, Precision, Recall, and F1-Score optimization

🏗️ Architecture & Custom Implementation

Expo Prebuild Integration

GestureSmart utilizes Expo's managed workflow with custom native code integration:

  • Expo SDK 53 Latest managed workflow benefits
  • Custom Java Modules Performance-critical ML processing
  • Automated Build Scripts Backup/restore native code during prebuild
  • EAS Build Cloud-based compilation for production builds

Native Code Integration

# Custom scripts for native code management
yarn backup-native # Backup custom native modules
yarn restore-native # Restore after prebuild
yarn prebuild # Full prebuild with native code preservation

State Management Architecture

  • Redux Toolkit Centralized state management
  • Async Storage Persistent local data storage
  • React Navigation Multi-screen navigation with drawer
  • Background Actions Continuous gesture recognition

🎯 Use Cases

Primary Users

  • Individuals with motor impairments
  • Visually impaired users
  • Users with speech difficulties
  • Elderly users seeking simplified interfaces

Environments

  • Noisy Environments Voice recognition with noise filtering
  • Low-Light Conditions Gesture and eye-tracking alternatives
  • Dynamic Settings Adaptive mode switching based on context
  • Offline Scenarios Core functionality without internet dependency

🔮 Future Enhancements

🎨 Custom Gesture Learning

  • Enable users to create personalized hand gestures
  • On-device ML training for privacy and adaptability
  • Tailored gestures based on individual mobility needs

📱 Braille via Haptic Feedback

  • Vibration-based tactile cues to simulate Braille
  • Navigate interface without visual or audio support
  • Enhanced accessibility for blind users

⚡ On-Device ML Optimization

  • Lightweight, personalized models
  • Improved accuracy and responsiveness
  • Reduced cloud dependency for better privacy

🌍 Multilingual & NLP Support

  • Regional language support (Urdu, Hindi, Pashto, etc.)
  • Right-to-left (RTL) text support
  • Localized content for global accessibility

🧪 Testing & Validation

The system underwent extensive testing across:

  • Controlled Environments Laboratory conditions with optimal lighting and minimal noise
  • Real-World Scenarios Varied lighting, background noise, and user movement
  • Accessibility Compliance WCAG 2.1 guidelines adherence
  • Cross-Platform Compatibility iOS and Android device testing

🤝 Contributing

We welcome contributions to make GestureSmart more accessible and inclusive! Please read our Contributing Guidelines before submitting pull requests.

Development Guidelines

  1. Follow Expo and React Native best practices
  2. Ensure accessibility compliance in all features
  3. Test custom native modules on multiple devices
  4. Use TypeScript for type safety
  5. Maintain clean Redux state architecture
  6. Document native code integrations
  7. Test prebuild process before major releases

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact & Support

Developer: Atib Ur Rehman

🙏 Acknowledgments

Special thanks to all the testers and accessibility advocates who provided valuable feedback during development and testing phases. Your insights were crucial in making GestureSmart truly inclusive.

📈 Project Status

GestureSmart is actively maintained and continuously improved. The system has demonstrated technical and commercial viability as a scalable accessibility solution through extensive real-world testing.


Building technology that empowers everyone to interact with the digital world, regardless of their physical abilities.

About

No description, website, or topics provided.

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

GestureSmart 🤲👁️🗣️

An AI-powered mobile accessibility system designed for users with motor and visual impairments, enabling touch-free interaction through gesture recognition, voice commands, and eye-tracking.

📱 Overview

GestureSmart bridges the accessibility gap in mobile interfaces by offering an inclusive and adaptive system that enables users to control mobile devices through gestures, voice, or eye movements. This combination of AI technologies ensures usability across diverse environments and offers users the freedom to choose their preferred interaction mode.

📸 App Screenshots

Explore the GestureSmart interface and features through our comprehensive screenshot gallery:

Main Interface & Navigation

Screenshot 1Screenshot 2Screenshot 3Screenshot 4
Screenshot 5Screenshot 6Screenshot 7Screenshot 8
Screenshot 9Screenshot 10Screenshot 11Screenshot 12
Screenshot 13Screenshot 14Screenshot 15Screenshot 16
Screenshot 17Screenshot 18Screenshot 19Screenshot 20
Screenshot 21

✨ Key Features

🎯 Multi-Modal Control

  • Gesture Control Hand-based navigation using MediaPipe Gestures and HandPose
  • Voice Commands Real-time speech input via AssemblyAI API
  • Eye Tracking MediaPipe FaceMesh-based gaze and blink detection for UI control
  • Seamless Mode Switching Intelligent fallback mechanisms between input modes

🔒 Privacy-Focused Design

  • No personal data collection - only anonymized device tokens and session logs
  • On-device processing for core gesture features
  • Encrypted communication using HTTPS
  • WCAG 2.1 compliant accessibility standards

📱 Offline Capabilities

  • Core gesture features work offline using on-device TensorFlow Lite models
  • Ideal for rural or low-connectivity areas
  • Ensures privacy and usability without internet dependency

🎨 Accessibility-First UI

  • Designed following WCAG 2.1 principles for inclusive design
  • Voice alerts and audio cues for visual feedback
  • Minimal visual clutter to support users with cognitive or visual impairments

🏗️ Technology Stack

Frontend & Mobile

  • Expo SDK 53 - React Native development platform
  • React Native 0.79.5 - Cross-platform mobile framework
  • React 19.0.0 - Latest React version
  • TypeScript 5.8.3 - Type-safe JavaScript development
  • Custom Java Native Code - Platform-specific optimizations
  • Expo Prebuild - Custom native code integration

Backend & Database

  • Node.js - Server-side runtime
  • MongoDB Atlas - Cloud database for session data
  • Express.js - Web application framework
  • Redux Toolkit - State management
  • Async Storage - Local data persistence

AI/ML & Computer Vision

  • MediaPipe Gestures - Real-time gesture recognition
  • MediaPipe HandPose - Hand landmark detection
  • MediaPipe FaceMesh - Eye tracking and facial analysis
  • Google ML Kit Face Detection - Enhanced face tracking capabilities
  • Custom Java Native Modules - Optimized ML processing
  • TensorFlow Lite - On-device machine learning
  • AssemblyAI - Voice recognition and speech-to-text

🤖 AI Models & APIs Documentation

Hand Gesture Recognition

MediaPipe Hand Landmarker & Gesture Recognizer

Eye Tracking & Face Detection

Google ML Kit Face Detection

  • Documentation: ML Kit Vision Face Detection
  • Features: Real-time face mesh analysis, eye gaze tracking, blink detection
  • Privacy: On-device processing with no data transmission

Voice Recognition

AssemblyAI Speech-to-Text

  • Service: AssemblyAI Platform
  • Features: Real-time transcription, noise filtering, multi-language support
  • Usage: Voice command processing and accessibility features

⚙️ Server Configuration

Environment Variables

PORT=8000MONGO_URI=your_mongodb_connection_stringTOKEN_KEY=your_jwt_secret_keyAPP_NAME=Gesture Smart ServerEmailHost=smtp.gmail.comEmailPort=587EmailSecured=falseEmailUser=your_email_addressEmailPass=your_email_passwordCLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_KEY=your_cloudinary_api_keyCLOUDINARY_SECRET=your_cloudinary_api_secretENVIRONMENT=DEV

Required API Keys

  1. MongoDB Atlas - Database connection
  2. AssemblyAI - Voice recognition (Get API Key)
  3. Cloudinary - Image/media storage
  4. Email Service - Notification system

📊 Performance Metrics

The system demonstrates high reliability across key performance indicators:

  • Precision High accuracy in controlled environments
  • Accuracy Consistent performance across different input modes
  • Recall Effective detection of user intents
  • TNR (True Negative Rate) Robust false positive filtering
  • Fallback Reliability Seamless mode switching preserves usability

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI (latest version)
  • Android Studio / Xcode
  • EAS CLI (for builds)
  • MongoDB Atlas account
  • AssemblyAI account
  • Java Development Kit (for custom native modules)

Installation

  1. Clone the repository

    git clone https://github.com/ateebnoone/gesturesmart.git
    cd MobileApp
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Configuration

    • Add your API keys in src/constants/api_keys.ts
    • Configure server environment variables as shown above
  4. Prebuild with custom native code

    yarn prebuild
    # This will backup native code, run expo prebuild, and restore custom native modules
  5. Start the development server

    yarn start
    # or
    npx expo start
  6. Run on device/simulator

    # For Android
    yarn android

🏗️ Building for Production

Using EAS Build (Recommended)

# Build for Android
yarn buildCloud

🔧 System Architecture

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Expo/RN App │ │ Node.js │ │ MongoDB Atlas │
│ (TypeScript) │◄──►│ Backend │◄──►│ Database │
│ + Custom Java │ │ (Express.js) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Native Modules│ │ Cloud Services │
│ • MP Gestures │ │ • AssemblyAI │
│ • MP HandPose │ │ • EAS Build │
│ • MP FaceMesh │ │ • Expo Services │
│ • Custom Java │ │ • Push Notifs │
└─────────────────┘ └─────────────────┘

Component Architecture

┌─────────────────────────────────────────────────────────┐
│ React Native App │
├─────────────────────────────────────────────────────────┤
│ Navigation Layer (React Navigation + Drawer) │
├─────────────────────────────────────────────────────────┤
│ State Management (Redux Toolkit + Async Storage) │
├─────────────────────────────────────────────────────────┤
│ Feature Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gesture │ │ Voice │ │ Eye Track │ │
│ │ Detection │ │ Commands │ │ (FaceMesh)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Native Bridge (Custom Java + Expo Modules) │
├─────────────────────────────────────────────────────────┤
│ Platform APIs (Camera, Microphone, Sensors) │
└─────────────────────────────────────────────────────────┘

🧠 AI Model Training

Datasets Used

  • Gesture Recognition Annotated video frames of hand movements for swipes, taps, and zoom actions using MediaPipe HandPose landmarks
  • Voice Commands Pre-recorded datasets with varying accents and environmental conditions processed through AssemblyAI
  • Eye Tracking Facial landmark datasets for gaze direction and blinking pattern detection using MediaPipe FaceMesh

Model Architecture

  • Preprocessing Data normalization and augmentation
  • Framework MediaPipe Gestures, HandPose, and FaceMesh with deep learning integration
  • Training Metrics Accuracy, Precision, Recall, and F1-Score optimization

🏗️ Architecture & Custom Implementation

Expo Prebuild Integration

GestureSmart utilizes Expo's managed workflow with custom native code integration:

  • Expo SDK 53 Latest managed workflow benefits
  • Custom Java Modules Performance-critical ML processing
  • Automated Build Scripts Backup/restore native code during prebuild
  • EAS Build Cloud-based compilation for production builds

Native Code Integration

# Custom scripts for native code management
yarn backup-native # Backup custom native modules
yarn restore-native # Restore after prebuild
yarn prebuild # Full prebuild with native code preservation

State Management Architecture

  • Redux Toolkit Centralized state management
  • Async Storage Persistent local data storage
  • React Navigation Multi-screen navigation with drawer
  • Background Actions Continuous gesture recognition

🎯 Use Cases

Primary Users

  • Individuals with motor impairments
  • Visually impaired users
  • Users with speech difficulties
  • Elderly users seeking simplified interfaces

Environments

  • Noisy Environments Voice recognition with noise filtering
  • Low-Light Conditions Gesture and eye-tracking alternatives
  • Dynamic Settings Adaptive mode switching based on context
  • Offline Scenarios Core functionality without internet dependency

🔮 Future Enhancements

🎨 Custom Gesture Learning

  • Enable users to create personalized hand gestures
  • On-device ML training for privacy and adaptability
  • Tailored gestures based on individual mobility needs

📱 Braille via Haptic Feedback

  • Vibration-based tactile cues to simulate Braille
  • Navigate interface without visual or audio support
  • Enhanced accessibility for blind users

⚡ On-Device ML Optimization

  • Lightweight, personalized models
  • Improved accuracy and responsiveness
  • Reduced cloud dependency for better privacy

🌍 Multilingual & NLP Support

  • Regional language support (Urdu, Hindi, Pashto, etc.)
  • Right-to-left (RTL) text support
  • Localized content for global accessibility

🧪 Testing & Validation

The system underwent extensive testing across:

  • Controlled Environments Laboratory conditions with optimal lighting and minimal noise
  • Real-World Scenarios Varied lighting, background noise, and user movement
  • Accessibility Compliance WCAG 2.1 guidelines adherence
  • Cross-Platform Compatibility iOS and Android device testing

🤝 Contributing

We welcome contributions to make GestureSmart more accessible and inclusive! Please read our Contributing Guidelines before submitting pull requests.

Development Guidelines

  1. Follow Expo and React Native best practices
  2. Ensure accessibility compliance in all features
  3. Test custom native modules on multiple devices
  4. Use TypeScript for type safety
  5. Maintain clean Redux state architecture
  6. Document native code integrations
  7. Test prebuild process before major releases

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact & Support

Developer: Atib Ur Rehman

🙏 Acknowledgments

Special thanks to all the testers and accessibility advocates who provided valuable feedback during development and testing phases. Your insights were crucial in making GestureSmart truly inclusive.

📈 Project Status

GestureSmart is actively maintained and continuously improved. The system has demonstrated technical and commercial viability as a scalable accessibility solution through extensive real-world testing.


Building technology that empowers everyone to interact with the digital world, regardless of their physical abilities.

About

No description, website, or topics provided.

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

GestureSmart 🤲👁️🗣️

An AI-powered mobile accessibility system designed for users with motor and visual impairments, enabling touch-free interaction through gesture recognition, voice commands, and eye-tracking.

📱 Overview

GestureSmart bridges the accessibility gap in mobile interfaces by offering an inclusive and adaptive system that enables users to control mobile devices through gestures, voice, or eye movements. This combination of AI technologies ensures usability across diverse environments and offers users the freedom to choose their preferred interaction mode.

📸 App Screenshots

Explore the GestureSmart interface and features through our comprehensive screenshot gallery:

Main Interface & Navigation

Screenshot 1Screenshot 2Screenshot 3Screenshot 4
Screenshot 5Screenshot 6Screenshot 7Screenshot 8
Screenshot 9Screenshot 10Screenshot 11Screenshot 12
Screenshot 13Screenshot 14Screenshot 15Screenshot 16
Screenshot 17Screenshot 18Screenshot 19Screenshot 20
Screenshot 21

✨ Key Features

🎯 Multi-Modal Control

  • Gesture Control Hand-based navigation using MediaPipe Gestures and HandPose
  • Voice Commands Real-time speech input via AssemblyAI API
  • Eye Tracking MediaPipe FaceMesh-based gaze and blink detection for UI control
  • Seamless Mode Switching Intelligent fallback mechanisms between input modes

🔒 Privacy-Focused Design

  • No personal data collection - only anonymized device tokens and session logs
  • On-device processing for core gesture features
  • Encrypted communication using HTTPS
  • WCAG 2.1 compliant accessibility standards

📱 Offline Capabilities

  • Core gesture features work offline using on-device TensorFlow Lite models
  • Ideal for rural or low-connectivity areas
  • Ensures privacy and usability without internet dependency

🎨 Accessibility-First UI

  • Designed following WCAG 2.1 principles for inclusive design
  • Voice alerts and audio cues for visual feedback
  • Minimal visual clutter to support users with cognitive or visual impairments

🏗️ Technology Stack

Frontend & Mobile

  • Expo SDK 53 - React Native development platform
  • React Native 0.79.5 - Cross-platform mobile framework
  • React 19.0.0 - Latest React version
  • TypeScript 5.8.3 - Type-safe JavaScript development
  • Custom Java Native Code - Platform-specific optimizations
  • Expo Prebuild - Custom native code integration

Backend & Database

  • Node.js - Server-side runtime
  • MongoDB Atlas - Cloud database for session data
  • Express.js - Web application framework
  • Redux Toolkit - State management
  • Async Storage - Local data persistence

AI/ML & Computer Vision

  • MediaPipe Gestures - Real-time gesture recognition
  • MediaPipe HandPose - Hand landmark detection
  • MediaPipe FaceMesh - Eye tracking and facial analysis
  • Google ML Kit Face Detection - Enhanced face tracking capabilities
  • Custom Java Native Modules - Optimized ML processing
  • TensorFlow Lite - On-device machine learning
  • AssemblyAI - Voice recognition and speech-to-text

🤖 AI Models & APIs Documentation

Hand Gesture Recognition

MediaPipe Hand Landmarker & Gesture Recognizer

Eye Tracking & Face Detection

Google ML Kit Face Detection

  • Documentation: ML Kit Vision Face Detection
  • Features: Real-time face mesh analysis, eye gaze tracking, blink detection
  • Privacy: On-device processing with no data transmission

Voice Recognition

AssemblyAI Speech-to-Text

  • Service: AssemblyAI Platform
  • Features: Real-time transcription, noise filtering, multi-language support
  • Usage: Voice command processing and accessibility features

⚙️ Server Configuration

Environment Variables

PORT=8000MONGO_URI=your_mongodb_connection_stringTOKEN_KEY=your_jwt_secret_keyAPP_NAME=Gesture Smart ServerEmailHost=smtp.gmail.comEmailPort=587EmailSecured=falseEmailUser=your_email_addressEmailPass=your_email_passwordCLOUD_NAME=your_cloudinary_cloud_nameCLOUDINARY_KEY=your_cloudinary_api_keyCLOUDINARY_SECRET=your_cloudinary_api_secretENVIRONMENT=DEV

Required API Keys

  1. MongoDB Atlas - Database connection
  2. AssemblyAI - Voice recognition (Get API Key)
  3. Cloudinary - Image/media storage
  4. Email Service - Notification system

📊 Performance Metrics

The system demonstrates high reliability across key performance indicators:

  • Precision High accuracy in controlled environments
  • Accuracy Consistent performance across different input modes
  • Recall Effective detection of user intents
  • TNR (True Negative Rate) Robust false positive filtering
  • Fallback Reliability Seamless mode switching preserves usability

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI (latest version)
  • Android Studio / Xcode
  • EAS CLI (for builds)
  • MongoDB Atlas account
  • AssemblyAI account
  • Java Development Kit (for custom native modules)

Installation

  1. Clone the repository

    git clone https://github.com/ateebnoone/gesturesmart.git
    cd MobileApp
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Configuration

    • Add your API keys in src/constants/api_keys.ts
    • Configure server environment variables as shown above
  4. Prebuild with custom native code

    yarn prebuild
    # This will backup native code, run expo prebuild, and restore custom native modules
  5. Start the development server

    yarn start
    # or
    npx expo start
  6. Run on device/simulator

    # For Android
    yarn android

🏗️ Building for Production

Using EAS Build (Recommended)

# Build for Android
yarn buildCloud

🔧 System Architecture

High-Level Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Expo/RN App │ │ Node.js │ │ MongoDB Atlas │
│ (TypeScript) │◄──►│ Backend │◄──►│ Database │
│ + Custom Java │ │ (Express.js) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Native Modules│ │ Cloud Services │
│ • MP Gestures │ │ • AssemblyAI │
│ • MP HandPose │ │ • EAS Build │
│ • MP FaceMesh │ │ • Expo Services │
│ • Custom Java │ │ • Push Notifs │
└─────────────────┘ └─────────────────┘

Component Architecture

┌─────────────────────────────────────────────────────────┐
│ React Native App │
├─────────────────────────────────────────────────────────┤
│ Navigation Layer (React Navigation + Drawer) │
├─────────────────────────────────────────────────────────┤
│ State Management (Redux Toolkit + Async Storage) │
├─────────────────────────────────────────────────────────┤
│ Feature Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gesture │ │ Voice │ │ Eye Track │ │
│ │ Detection │ │ Commands │ │ (FaceMesh)│ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────┤
│ Native Bridge (Custom Java + Expo Modules) │
├─────────────────────────────────────────────────────────┤
│ Platform APIs (Camera, Microphone, Sensors) │
└─────────────────────────────────────────────────────────┘

🧠 AI Model Training

Datasets Used

  • Gesture Recognition Annotated video frames of hand movements for swipes, taps, and zoom actions using MediaPipe HandPose landmarks
  • Voice Commands Pre-recorded datasets with varying accents and environmental conditions processed through AssemblyAI
  • Eye Tracking Facial landmark datasets for gaze direction and blinking pattern detection using MediaPipe FaceMesh

Model Architecture

  • Preprocessing Data normalization and augmentation
  • Framework MediaPipe Gestures, HandPose, and FaceMesh with deep learning integration
  • Training Metrics Accuracy, Precision, Recall, and F1-Score optimization

🏗️ Architecture & Custom Implementation

Expo Prebuild Integration

GestureSmart utilizes Expo's managed workflow with custom native code integration:

  • Expo SDK 53 Latest managed workflow benefits
  • Custom Java Modules Performance-critical ML processing
  • Automated Build Scripts Backup/restore native code during prebuild
  • EAS Build Cloud-based compilation for production builds

Native Code Integration

# Custom scripts for native code management
yarn backup-native # Backup custom native modules
yarn restore-native # Restore after prebuild
yarn prebuild # Full prebuild with native code preservation

State Management Architecture

  • Redux Toolkit Centralized state management
  • Async Storage Persistent local data storage
  • React Navigation Multi-screen navigation with drawer
  • Background Actions Continuous gesture recognition

🎯 Use Cases

Primary Users

  • Individuals with motor impairments
  • Visually impaired users
  • Users with speech difficulties
  • Elderly users seeking simplified interfaces

Environments

  • Noisy Environments Voice recognition with noise filtering
  • Low-Light Conditions Gesture and eye-tracking alternatives
  • Dynamic Settings Adaptive mode switching based on context
  • Offline Scenarios Core functionality without internet dependency

🔮 Future Enhancements

🎨 Custom Gesture Learning

  • Enable users to create personalized hand gestures
  • On-device ML training for privacy and adaptability
  • Tailored gestures based on individual mobility needs

📱 Braille via Haptic Feedback

  • Vibration-based tactile cues to simulate Braille
  • Navigate interface without visual or audio support
  • Enhanced accessibility for blind users

⚡ On-Device ML Optimization

  • Lightweight, personalized models
  • Improved accuracy and responsiveness
  • Reduced cloud dependency for better privacy

🌍 Multilingual & NLP Support

  • Regional language support (Urdu, Hindi, Pashto, etc.)
  • Right-to-left (RTL) text support
  • Localized content for global accessibility

🧪 Testing & Validation

The system underwent extensive testing across:

  • Controlled Environments Laboratory conditions with optimal lighting and minimal noise
  • Real-World Scenarios Varied lighting, background noise, and user movement
  • Accessibility Compliance WCAG 2.1 guidelines adherence
  • Cross-Platform Compatibility iOS and Android device testing

🤝 Contributing

We welcome contributions to make GestureSmart more accessible and inclusive! Please read our Contributing Guidelines before submitting pull requests.

Development Guidelines

  1. Follow Expo and React Native best practices
  2. Ensure accessibility compliance in all features
  3. Test custom native modules on multiple devices
  4. Use TypeScript for type safety
  5. Maintain clean Redux state architecture
  6. Document native code integrations
  7. Test prebuild process before major releases

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact & Support

Developer: Atib Ur Rehman

🙏 Acknowledgments

Special thanks to all the testers and accessibility advocates who provided valuable feedback during development and testing phases. Your insights were crucial in making GestureSmart truly inclusive.

📈 Project Status

GestureSmart is actively maintained and continuously improved. The system has demonstrated technical and commercial viability as a scalable accessibility solution through extensive real-world testing.


Building technology that empowers everyone to interact with the digital world, regardless of their physical abilities.

About

No description, website, or topics provided.

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages