Inspiration
The best Twitch moments happen when chat roasts the streamer, but it's just text that's gone in two seconds. We wanted chat to actually make something: a meme with the streamer's face on it, live on stream, with mods keeping it fun.
What it does
StreamFace Memes turns viewers into meme makers.
- The streamer uploads a face photo once, and the app cuts out a goofy, cartoony oval. Cut-and-paste on purpose, never a deepfake.
- Viewers make memes from chat (
!meme drake homework vs gaming), with channel points, or in a simple browser editor where they can pick templates, edit text, and drag faces around. - Every meme goes to a mod queue first. Approved ones pop up on stream with the creator's name.
- At the end, chat votes for Meme of the Stream and the winner gets confetti.
How we built it
Python + Flask with Socket.IO for live updates, Postgres on Neon, MediaPipe and OpenCV for face cutouts, Pillow for rendering, and a hand-built canvas editor that matches the server pixel for pixel. Twitch OAuth, EventSub and Helix handle sign-in, chat and the bot. Backend on Render, sites on Vercel.
Challenges we ran into
- Face detection worked locally and broke in the cloud, thanks to missing system libraries and OpenCV 5 dropping its face models. We baked everything into the Docker image.
- Render wipes its disk on restart, so we kept losing files until we backed them up in Postgres.
- Our first voting round never showed what you were voting on. Oops. Fixed.
Accomplishments that we're proud of
- It works live, end to end: screenshot to meme to mod approval to on stream in under a minute.
- It's safe by design: mods approve everything and viewers' photos stay private.
- It's actually deployed, survives restarts, and has a demo mode and tests so we didn't have to spam a real stream.
What we learned
How Twitch's APIs fit together, that "works on my machine" usually means a missing library, and that stream overlays need big numbers and short text because people are watching, not reading.
What's next for StreamFace Memes
GIF memes, sound effects, per-channel mod settings and cooldowns, and a gallery of past winners.
Log in or sign up for Devpost to join the conversation.