Useless is not worthless

Here's a collection of side projects. Most of them don't have any other purpose than exploring the field of human-computer interaction using web technologies.

Control UIs using wireless earbuds and on-face interactions

On-face interactions

Getting live data from passing airplanes

Aircraft radar system

Build UIs in Figma with hand movements

Hand-controlled Figma

Squid game with body movement detection

Red light, green light

Gaze-controlled interface to write code

Hands-free coding

Interactive digital art frame with head-coupled perspective

Interactive digital frame

Toggle Netlify's dark mode by clapping your hands

Dark mode clap extension

Node.js package to predict indoor location


JS library using iris tracking to detect a user's gaze

Gaze detection

Experimenting with Spline to create low poly 3D scenes

Low poly 3D scene

Small collection of SVG art based on a trip to Iceland

SVG art

Tinkering with Houdini to create 3D animations

Houdini experiments

Interactive 3D Pac-Man game in WebXR

WebXR Pac-Man

GitHub bot that detects toxic comments on PRs

Safe space

Zooming & navigating a map with hand gestures

Touchless interactions

Chrome's Dino game controlled by thoughts

Mind-controlled Dino game

Interface triggered by acoustic activity monitoring


Control the zoom level by lifting your eyebrows


Play a 3D Fruit Ninja clone using hand motion


Keep running to explore digital trails using motion control


Thought-controlled Street Fighter prototype

Thought-controlled game

Control a 3D web game using hand gestures


Imitate emojis to play a clone of the iOS game Rainbrow


Use ML to recognise human activities based on sound data

Acoustic activity recognition

Clone of Beat Saber but in the browser and with your hands

Beat Pose

Interact with interfaces by touching conductive textile

Textile interfaces

Interact with a Street Fighter game with real body movements

Street Figther ML

Play Flappy Bird with browser popup windows

Flappy windows

Play with the Freedrum sensors in JavaScript


Ride a real skateboard to play this hoverboard game


Music visualization using browser popup windows

Windows equaliser

Play a version of the Pong game with browser popup windows

Browser pong

Access data from the Daydream controller in Node.js

Daydream node

Use live image recognition to get better at recycling

Tfjs recycling

Tilt your head to interact with a keyboard and write a message

Teachable keyboard

Because people can't be trusted. Use ML to detect drawn willies.

Willy detector

JavaScript framework to interact with the Emotiv


Small JavaScript library for web accessibility issues


Chrome extension for live captioning using speech recognition

Speak - extension

JavaScript library to use the Myo armband with Web Bluetooth

Myo web bluetooth.js