Inspiration

We were inspired by a previous Hack the North project that turned a nerf gun into an FPS controller, as well as controller-free VR technology. We wanted to make things more accessible, so we settled on using something that everyone has, their hands.

What it does

SWISH is a Windows app that allows users to fully control their mouse and keyboard by using hand gestures. A webcam tracks your hands to drive the mouse and hold keys, and your voice triggers keystrokes and macros. Both run live, with latency low enough to play real-time games like Minecraft, Rocket League, Aimlabs, and Bloons TD 6.

How we built it

Our project is a .NET solution split into 3 C# projects:

  • SWISH.App is a WPF shell (.NET 10, Windows) with a system tray icon. It hosts both input engines and adds a styled UI for calibration, a controls overview, settings, a tutorial, and a command editor.
  • HandGestureRecognition (.NET 8) contains the GestureEngine, which turns camera input into mouse and keyboard input.
  • VoiceKeys contains the VoiceEngine, which turns microphone input into keystrokes

Hand tracking is done via OpenCvSharp4 for capture and image processing and ONNX Runtime for inference, and ElevenLabs API is used for custom voice commands that can be mapped to keybinds or macros.

Challenges we ran into

The main challenges we faced were working with .NET, as even though our two developers have some experience with it, there were still plenty of things we needed to troubleshoot. Another challenge was merging work, as our two main systems were initially independent of each other.

Accomplishments that we're proud of

We've managed to create a really unique project in 24 hours that we think many people will enjoy.

What we learned

Some things we learned include applications of computer vision and speech-to-text technology, as well as working in a multidisciplinary team.

What's next for SWISH (Serial Wireless Interactive System for Humans)

Refinement and optimization, especially with our API usage.

Built With

  • .net
  • c#
  • elevenlabsapi
  • onnx
  • opencvsharp4
Share this project:

Updates

Submission history