Inspiration
I'm always spending time scrolling through streaming apps and searching for what to watch, and I can never find something for the mood I'm looking for, or I'm never searching on the right platform because of the endless streaming platforms there are now.
I built PickPerfect to fix this. Instead of jumping from app to app, or having decision fatigue, you type in exactly what you’re in the mood for—whether it’s 'a 90s thriller for a rainy night' or 'something funny but not a sitcom.
What it's meant to do
PickPerfect cuts through the noise to find your match, tells you exactly which platform is streaming it, or even finds a nearby cinema if you want to get out. It’s not just a recommender; it’s the end of the endless scroll.
How I built it
I built PickPerfect using Streamlit for the frontend, which allows users to select a type (movie or show), choose genres, specify mood, and get tailored recommendations. I integrated the Watchmode API to pull available titles across multiple streaming platforms, and I added Gemini AI to rank the titles based on the user’s mood description. The app uses a clean, interactive interface, with real-time results and a responsive design suitable for desktop and mobile users.
Challenges I ran into
One of the main challenges was handling the API integrations. Mapping user-friendly genre names to Watchmode genre IDs required careful attention, and ensuring Gemini ranked titles accurately according to mood involved fine-tuning prompts. We also needed to manage secrets safely, so API keys weren’t exposed when uploading the app to GitHub. Additionally, handling empty or ambiguous user input while keeping the recommendations meaningful took some iteration.
Built With
- geminiapi
- python
- streamlit
- watchmodeapi
Log in or sign up for Devpost to join the conversation.