What it does
eyePlay reads electrooculography (EOG) signals from a SpikerBox attached to electrodes around the eyes, then classifies eye gestures (blinks, left/right glances) into media-playback commands — play, pause, skip. The whole pipeline runs in real time on a laptop.
How it's built
A SciPy filter chain cleans the raw signal: high-pass for drift, notch for mains hum, smoothing for muscle noise. Features are then passed to a small scikit-learn classifier that outputs gesture labels. The classifier was trained on data we collected ourselves across team members.
We hit 92.8% accuracy on a held-out test set, which was enough for useful media control without too many false triggers.
What I worked on
I owned the signal-processing layer and the real-time inference loop. The cross-disciplinary team handled hardware and the UX wrapper.