Inspiration
I wanted to explore on-device AI in a way that felt personal and fun. Instead of building another "don't laugh challenge," I wondered if a camera could help people understand their own humor patterns. That curiosity turned into Laughter Discovery — a small emotional experiment powered by local AI.
What it does
Laughter Discovery uses your webcam to detect subtle changes in your facial expression while you browse funny GIFs. After each session, it builds a "Humor Profile" showing which images triggered your strongest smile response. It's not a game about resisting laughter — it's a tool for discovering what actually makes you laugh.
How we built it
The app runs entirely in the browser using HTML, CSS, and JavaScript. MediaPipe Face Landmarker provides real-time facial landmarks, and a lightweight smile-ratio calculation measures expression intensity. GIFs are fetched from the Tenor API based on user-selected categories. All processing happens locally on the device's Arm CPU — no video or facial data ever leaves the browser.
Challenges we ran into
Building a consistent laughter signal across different lighting conditions and camera qualities took tuning. Running real-time face analysis smoothly on older Arm devices required careful frame-rate balancing, throttling, and efficient landmark extraction.
Accomplishments that we're proud of
The app gives users a meaningful "aha" moment — seeing exactly which types of humor hit them the hardest. And everything works without cloud inference or native code: real-time detection, GIF streaming, and emotion measurement all run directly in the browser.
What we learned
I learned how much expressive analysis you can achieve with lightweight models when optimized for on-device use. I also gained insight into how small variations in mouth geometry correlate with different laughter intensities, and how to design an experience around those signals.
What's next for Laughter Discovery
- A deeper emotion model incorporating eye squint and cheek raise
- A "humor fingerprint" that summarizes your long-term patterns
- Sharable humor profiles
- A challenge mode for players who want to test their poker face
- Offline meme packs to support no-network environments
Built With
- javascript
- localstorageapi
- mediapipefacelandmarker
- tenorapi

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