Inspiration
As computer science students at the University of Cincinnati, we often moved between classrooms, labs, study spaces, and presentation rooms. More than once we forgot a mouse or found ourselves needing a simple way to control slides from a distance. We wanted a tool that required no extra hardware and worked anywhere we already had our phones. Quick Mouse came from that need for a dependable, always-available input device.
What it does
Quick Mouse turns any smartphone into a wireless mouse for a desktop or laptop. Install the desktop app, scan a QR code, and you are paired. The phone screen becomes a smooth, low-latency input method. Quick Mouse supports use as a handheld pointer or as a trackpad. It works for everyday navigation, quick fixes when a mouse is missing, and clean slide control during presentations.
How we built it
The desktop backend is written in Go. It exposes a lightweight local service that handles pairing, event ingestion, and secure communication. The frontend is built in React. It provides a clean interface for trackpad gestures, clicks, and movement. Pairing uses a simple QR-code flow generated by the desktop app. The mobile app scans it to obtain connection details and establish a secure link. Touch events are streamed to the Go backend, which translates them into native pointer actions with minimal delay.
Challenges we ran into
We had to tune event streaming to keep latency low on varied Wi-Fi networks. Gesture detection required multiple iterations to avoid false positives and maintain precision. The QR-based pairing system needed to be simple but secure. Cross-platform reliability introduced differences in input handling and system permissions that we had to normalize. We built primarily for Linux, but with some massaging, each OS could be compiled for.
Accomplishments that we're proud of
We built a fast and stable pairing process using QR codes. We delivered consistent, low-jitter pointer control on typical campus networks. The React interface feels familiar and intuitive, even for first-time users. The Go backend stayed small, portable, and easy to maintain.
What we learned
We deepened our understanding of real-time event handling, network performance, and cross-device communication. We learned how to use web sockets to reduce latency and improve connection stability.

Log in or sign up for Devpost to join the conversation.