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

  • boing
  • canva-(logo-polish)
  • canvas-api
  • confetti)-version-control:-git-+-github-tools-&-utilities:-firebase-(for-optional-user-progress)
  • css-frameworks-&-libraries:-streamlit
  • custom-compliment-&-humor-templates-(json-based)-database-&-storage:-tinydb-/-json-storage-for-joy-meter-and-unlockables-hosting-&-deployment:-streamlit-cloud-(primary)
  • custom-sfx-(pop
  • figma-(ui-flow)
  • google-fonts-(comic-neue
  • html
  • javascript
  • languages:-python
  • mediapipe
  • opencv-audio-&-visual-apis:-web-audio-api
  • p5.js
  • p5.sound-ai-&-logic:-openai-api-(optional-for-funny-answer-generation)
  • patrick-hand)
  • react
  • tensorflow.js
  • vercel-(react-frontend-option)-design-&-assets:-blender-(3d-dripping-paint-visuals)
Share this project:

Updates