Inspiration

We wanted to remind people that technology can be joyful, weird, and wonderfully pointless — a digital playground that sparks smiles. Funfinity was born from the idea that fun is infinite when your webcam, mic, and imagination collide. It’s a light-hearted rebellion against “serious apps,” proving that creativity and chaos can live side by side in code.

What it does

Funfinity is a toybox of three interactive micro-apps unified by a shared Joy Meter and dripping-paint aesthetic:

🪞 Mirror Me — Your webcam compliments you in real time. Whether you’re smiling, pouting, or zoning out, it finds a way to hype you up.

🎤 Paint With Noise — Your voice becomes a paintbrush. Clap, hum, shout, or sing — every sound splashes colors and shapes onto a digital canvas.

📚 Homework Destroyer 3000 — Upload a homework question, and the AI gives you confidently wrong, harmlessly silly answers like “22 (because of friendship).”

Each game feeds into a shared Joy Meter, rewarding curiosity, discovery, and laughter with XP and unlockables such as “Chaos Mode” or “Fancy Brushes.”

How we built it

We built Funfinity as a multi-page Streamlit / React web app, with lightweight modules for each toy:

Backend: Python ( Streamlit, OpenCV ) for fast prototyping.

Frontend: p5.js and Web Audio API for sound-reactive art, Mediapipe / TensorFlow.js for face detection.

Game Logic: Modular Python files for each toy (hd_logic.py, mm_cv.py, pn_audio.js, pn_canvas.js).

Gamification: A simple joymeter.py handles XP logic and unlocks.

Design: Blender for glossy 3D paint assets, custom fonts (Comic Neue / Patrick Hand), and playful CSS animations.

Everything ties together under a single joyful UI with sound effects and confetti feedback for every interaction.

Challenges we ran into

Making real-time webcam and microphone processing smooth across browsers.

Keeping latency low while rendering colorful, dripping paint visuals.

Designing a unified Funfinity vibe that feels cohesive across three totally different mechanics.

Balancing chaos with clarity — making “silly” still feel smart and polished.

Accomplishments that we're proud of

Built three fully functional, original micro-apps in 48 hours that feel connected through tone and style.

Created a full Joy Meter gamification layer with unlockables and Easter eggs.

Designed a dripping-paint aesthetic that instantly conveys fun and creativity.

Delivered humor and delight through code — turning camera, mic, and homework into toys.

What we learned

Real-time multimedia in browsers is tricky but deeply rewarding.

Simple feedback loops (sound + animation + text) massively increase engagement.

Humor and UI personality can make a technical demo memorable.

“Play” is a design language in itself — not a feature.

What’s next for Funfinity

AI-Generated Chaos: Use GPT to create new compliment styles, paint modes, and jokes dynamically.

Multiplayer Mode: Let multiple users paint together or roast each other’s homework in real time.

Mobile App / AR Mode: Bring Mirror Me and Noise Paint into camera filters and TikTok-style challenges.

Community Gallery: Share your funniest compliments and loudest art pieces in a Joy Gallery.

Built With

  • blender
  • boing
  • canvas-api
  • comic-neue
  • confetti
  • css-frameworks
  • custom-compliment-&-humor-templates
  • custom-sfx
  • figma
  • firebase
  • git
  • github-tools
  • google-fonts
  • html
  • javascript
  • json-based-database
  • json-storage
  • mediapipe
  • openai-api
  • opencv-audio-&-visual-apis
  • p5.js
  • p5.sound-ai-&-logic
  • patrick-hand
  • pop
  • python
  • react
  • streamlit
  • tensorflow.js
  • tinydb
  • vercel
  • web-audio-api
Share this project:

Updates