GesturePresenter screenshot

GesturePresenter

Updated: 20 Feb 2024
203 Stars

Control Google Slides With Just Hand Gestures!

Categories

Overview:

GesturePresenter is a project that allows users to control slide presentations through hand gestures using any device with web access and a camera. Leveraging Google’s MediaPipe Hands for gesture recognition, it consists of a Remote website, a Chrome extension, and a Python3 Flask backend server.

Features:

  • Hand Gesture Control: Control slide presentations with hand gestures.
  • Remote Website: Developed with ReactJS for recognizing hand gestures through the device’s camera.
  • Chrome Extension: Facilitates navigation through Google Slides via WebSockets.
  • Backend Server: Python3 Flask server connecting the Remote Website and Chrome Extension for seamless interaction.

Installation:

Setting Up the Frontend Website:

  1. Clone the Repository: Obtain the GesturePresenter codebase.
    git clone <repository-url>
    
  2. Install Dependencies: Get all required libraries.
    npm install
    
  3. Development Server: Launch the app in development mode.
    npm start
    
  4. Production Build: Compile the app for production.
    npm run build
    
  5. GitHub Pages Deployment: Push the build to the gh-pages branch.
    npm run deploy
    

Setting Up the Backend Server:

  1. Navigate and Install: Move to the backend directory and set up.
  2. Launch the Server: Start the Flask application.
    python app.py
    

Installing the Chrome Extension:

  1. Prepare the Extension: Move to the chrome-extension directory and install dependencies.
    npm install
    
  2. Build and Load: Compile the extension and add it to Chrome.
    • Build:
      npm run build
      
    • Develop:
      npm run watch
      
    • Load in Chrome: Enable Developer Mode in chrome://extensions/, choose “Load unpacked,” and select the build directory.

Summary:

GesturePresenter is a project that allows users to control slide presentations through hand gestures using a combination of a Remote website, a Chrome extension, and a Python3 Flask backend server. By following the installation guide, users can easily set up the frontend website, backend server, and the Chrome extension to start using GesturePresenter for seamless presentation control.