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)
Log in or sign up for Devpost to join the conversation.