Every project here started with "I wonder if I could…"
Where the hand moves, the gaze follows.
A live camera experiment that recognizes the hand gestures of Indian classical dance in real time. Hold a mudra up to your webcam and it names the shape, tells you what it means, and speaks it aloud in Sanskrit — no machine-learning model, just the geometry of the hand itself.
I taught my browser to read the hand gestures I grew up with.
For nine years, before I understood what any of it meant, my hands knew what to do.
I trained in Bharatanatyam, the classical dance form from South India, and like every student, the very first thing I learned wasn't a step. It was the hands. Mudras. Small, exact shapes the fingers make, each one carrying a meaning that's been passed down for centuries. One position is a flag. Another is a deer, a lotus, the moon, a blessing. You learn them before you learn what to do with them, the way you learn letters before words.
Life moved on the way it does, and I dance less than I used to. But the vocabulary never really leaves you. So when I started getting curious about how technology could fit into ordinary, everyday life, not big abstract AI, but small useful things, my mind kept circling back to my hands.
What if a browser could learn the mudras too?
The idea
I'd been wanting to play with hand-tracking for a while. Most demos you see are the usual thing: wave at the screen, count your fingers. Fun for a minute. But I kept thinking there had to be a more meaningful thing to point it at, something I actually cared about.
Then it clicked. Mudras. A gesture language I already spoke, that almost no software understands. I could build a little mirror: hold your hand up to the camera, and it tells you which mudra you're making, the Sanskrit name, what it represents, where it lives in the classical forms, and says it out loud.
Honestly, part of the appeal was selfish. It felt like a way to stay connected to something I'd drifted from. A way to put my two worlds, the very old and the very new, in the same room and see if they'd get along. They did. Beautifully.
What it does
I called it Hastamudra (hasta = hand, mudra = gesture).
You open it, allow the camera, and raise one hand. It draws the skeleton of your hand in gold, works out which of the 28 single-hand gestures you're holding, and shows you the name in Sanskrit and Devanagari, its meaning, what it symbolizes, and which dance forms use it, then pronounces the name aloud. Hold Pataka and it tells you: flag; clouds, a forest, a river, a blessing.
It turns a private, muscle-memory language into something you can just… show a screen, and have it understood.
How I actually made it
I'm not an engineer. I didn't write this the traditional way, I built it in conversation. I described what I wanted in plain language, watched it take shape, broke things, fixed things, and slowly shaped it into mine. Here's what each piece did:
- MediaPipe Hands (Google) — the eyes. It finds 21 points on your hand, 30 times a second: knuckles, fingertips, wrist.
- Rule-based geometry — the brain, and the part I'm proudest of. No machine-learning model, nothing trained on thousands of images. Each mudra is described by the shape itself: which fingers are straight, which are bent, how far the thumb sits from the others. Essentially the same way a teacher would describe a gesture to you, translated into math.
- The browser's Indian voice — so the Sanskrit names are actually pronounced, not mangled by an English accent.
- Reference photographs — demonstrated by Dr. Rajashree Warrier, courtesy of NatyaSutra, so you can hold your hand against the "correct" version.
- AI tools to build and ship — I used Claude in a workspace to build and endlessly iterate the app, and Claude Code to help deploy and debug. GitHub and a static host put it online.
The messy, honest middle
It did not arrive polished.
It started as a handful of gestures and grew to all 28. The design went through eras, busy, then minimal, then a proper Indian display typeface and a little Nataraja up top. I went back and forth on the voice, on the layout, on whether the camera should be centered or beside the panel.
The hardest part was accuracy, and it taught me something. Some mudras are almost identical to a flat camera, they differ by a curl of one finger or a small turn of the palm the lens simply can't see. I kept pushing for it to recognize everything, and kept running into the same wall: the stricter I made it so it wouldn't guess wrong while I sat still, the harder it became for the subtle gestures to register. There's no clean win there, only an honest tradeoff. Learning to name that tradeoff instead of fighting it was half the project.
And there was a stubborn little bug where the reference images refused to show. We chased it through caching, file paths, a sneaky layout quirk. Deeply unglamorous. Extremely real.
Why it mattered to me
I think we set up "art" and "technology" as opposites too easily. This didn't feel like that at all. It felt like using a new tool to hold an old thing a little more carefully.
A centuries-old gesture, a webcam, and a line of geometry met in the middle and recognized each other. And for a few minutes, I got to be a beginner again, holding my hand up to a screen, waiting to be told the name of a shape I've known since I was a kid.
That made me really happy. So glad to be building in a time when the distance between I wonder if… and here, try it has never been shorter.



