Inspiration
As a Twitch streamer, there is nothing worse than finishing a 6-hour stream and realizing you have to manually scrub through the entire VOD just to find that one 30-second clip where chat went wild. I wanted to automate the boring stuff so creators can focus on, well, creating.
What it does
PixelPulse is an AI-powered VOD analyzer. You paste a Twitch VOD link into the app, and it automatically scrapes the chat logs, feeds them to Google Gemini, and identifies the absolute most "hype" moments based on chat velocity, emote spam (like POG or LMAO), and all-caps reactions. It hands you back the exact timestamps so you can go clip them instantly.
How I built it
- Frontend: Built with React.js for a snappy UI, styled with the BluOS design system -- a dark ink background with a shimmering pastel spectrum (pink, lavender, blue, mint, yellow, peach), hand-drawn Kalam/Architects Daughter fonts, and asymmetric card corners.
- Backend: A Python Flask API built using Object-Oriented principles to keep things clean and scalable. Data Gathering: Used the chat-downloader Python library to bypass Twitch's headache-inducing APIs and pull chat directly.
- AI Engine: Integrated the google-genai SDK and used Pydantic schemas to force Gemini 2.5 Flash to return strictly typed, perfectly formatted JSON. No regex nightmares here.
Challenges I ran into
Forcing AI models to return reliable, parseable data to a frontend is usually a nightmare of string manipulation. Wrangling Twitch's chat architecture without getting blocked was also a fun puzzle to solve.
Accomplishments that I'm proud of
Getting Gemini to return guaranteed JSON using Pydantic schemas was a massive win. It completely eliminated the data parsing errors between the Python backend and the React frontend, making the app incredibly stable.
What I learned
I leveled up my knowledge of structured AI outputs and built a much more robust bridge between Python APIs and React frontends.
What's next for PixelPulse
I plan to add automatic video clipping using OpenCV to analyze the actual screen pixels for high-action moments, and eventually integrate direct TikTok and YouTube Shorts exports!
Built With
- chat-downloader
- css
- flask
- flask-cors
- gemini-2.5-flash
- generative-ai
- git
- github
- google-gemini
- google-genai
- graphql
- html
- javascript
- llm
- natural-language-processing
- pydantic
- python
- python-dotenv
- react
- rest-api
- threading
- twitch
- vercel
- vite
Log in or sign up for Devpost to join the conversation.