WaveSlide – Gesture-Controlled Presentation System thumbnail
Computer Vision

WaveSlide – Gesture-Controlled Presentation System

Control presentation slides using simple hand gestures through your webcam with real-time computer vision and gesture recognition.

Back to projects

Project overview

What this project is about.

WaveSlide is a computer vision-based desktop application that allows users to control presentation slides using hand gestures instead of a keyboard, mouse, or physical presentation clicker. It uses a regular webcam to capture hand movements and recognizes gestures to perform presentation actions automatically.

The application uses OpenCV to process webcam video and MediaPipe to detect important points on the hand, such as fingertips and finger joints. These points help WaveSlide understand different hand positions and movements. Based on the detected gesture, the system can move to the next or previous slide, jump to a specific slide number, pause gesture control, or perform other supported presentation actions.

WaveSlide is built with Python and includes a FastAPI backend for communication, along with a React and TypeScript frontend for its desktop interface. The application uses PyAutoGUI to send keyboard commands to compatible presentation software. It also includes a practice interface, gesture recording tools, settings, and an evaluation dashboard for testing recognition performance.

The project primarily uses rule-based gesture recognition and also supports an optional Random Forest machine learning classifier for experimentation. Its local data storage uses JSON and JSONL files, so a separate database server is not required.

WaveSlide is useful for students, teachers, developers, and professionals who want to explore computer vision, hand tracking, gesture recognition, and desktop application development through a practical project.

Who it is for

Usage and use case

  • Install the required tools, including Git, Node.js, and uv, following the project's setup instructions.
  • Clone the WaveSlide repository and open the project folder in a terminal.
  • Run the setup command to install the required frontend and Python dependencies.
  • Run the seed command to prepare demonstration data for exploring the application.
  • Start WaveSlide and open its desktop interface.
  • Select the appropriate camera or use a recorded demonstration session to explore the gesture recognition workflow.
  • Try the built-in practice deck to understand how different gestures control presentation actions.
  • Configure gesture settings and application profiles according to your requirements.
  • Use the dataset and evaluation tools to record gesture sessions and experiment with recognition methods.

Built with

Technology stack

  • Python
  • OpenCV
  • MediaPipe
  • NumPy
  • scikit-learn
  • FastAPI
  • Uvicorn
  • React
  • TypeScript
  • Vite
  • PyAutoGUI
  • pywebview
  • Pydantic
  • WebSockets
  • JSON and JSONL

What you get

Key features

  • Real-time hand tracking using a webcam
  • Hand landmark detection using MediaPipe
  • Gesture recognition using predefined rules
  • Optional Random Forest machine learning classifier
  • Next-slide and previous-slide navigation using hand gestures
  • Slide selection using finger-count gestures
  • Gesture-based presentation control and screen blanking
  • Activation and pause controls using hand gestures
  • Adjustable gesture sensitivity and recognition timing
  • Configurable keyboard shortcuts and application profiles
  • Live gesture recognition status and camera preview
  • Desktop interface with React and TypeScript
  • Python backend with FastAPI and WebSocket communication
  • Built-in gesture practice deck
  • Gesture dataset recording and management
  • Model training and evaluation tools
  • Offline replay mode for testing without a webcam
  • Local settings and session storage using JSON and JSONL
  • Automated backend and frontend tests

Before you start

Requirements

Python 3.12

Node.js 24

Git

uv Python package and environment manager

Windows 10/11 or a compatible supported macOS environment

Webcam for live gesture recognition

Compatible presentation software or PDF viewer

Microphone or external hardware is not required for the core functionality

Internet connection for initial setup and dependency installation

Sufficient permissions to access the webcam and control keyboard input

Optional extras

Boost your project

Optional extras to help you document, present and understand your work. Mention the ones you like when you enquire.

  • Popular Documentation support Submission-ready project report.
    • Full project report (PDF and Word)
    • Setup guide and README
    • Diagrams and screenshots
    Ask about this
  • Presentation support Slides ready for your review.
    • Slide deck of 12 to 15 slides
    • Speaker notes
    • Demo walkthrough script
    Ask about this
  • Publication support Guidance to turn it into a paper.
    • Paper structure and abstract
    • Journal and format guidance
    • Reference and plagiarism-check help
    Ask about this
  • 1:1 mentorship Live help from a mentor.
    • 45-minute video call
    • Code walkthrough
    • Viva question practice
    Ask about this

FAQ

Questions about this project

Ask us something else
How do I get a project?

Open the project you like and use the button on its page. If online payment is available you can pay and choose how you want to receive it. Otherwise send us a short enquiry and we will reply on WhatsApp or email.

Can a project be changed to fit my requirements?

Yes. Describe the changes you need when you enquire, and we confirm the scope and the price before any work starts.

Are add-ons available?

Many projects have optional add-ons such as documentation or presentation support. They are listed on the project page with their prices, and you can pick them when you buy or enquire.

How will I receive my order?

You choose email, WhatsApp or a Google Drive link. The delivery time is shown on the project page and in your confirmation email.

Is there a demo?

Projects with a demo video have a play button on their page. If you want to see something specific, ask us and we will tell you what we can show.

Can I get a refund?

Projects are digital, so payments are generally not refundable. If something went wrong, send a refund request with your order reference and we review it fairly. The Refund Policy explains the details.