Inspiration
I often found myself adding films to my watchlist and then completely forgetting about them. When it was finally time to watch something, I’d waste ages just browsing Netflix, while all my carefully saved movies sat ignored in the corner. If I wanted a recommendation, I’d either wait until I could ask a friend in person, or spend way too long watching YouTube videos just to filter out a few good suggestions.
This cycle of indecision and forgotten watchlists inspired me to create a single platform that actually solves the problem—helping me (and hopefully others) pick something great to watch, right when it’s needed. And since The Matrix is one of my all-time favorite movies, I decided to build the whole experience in its iconic style.
What it does
TheChoiceIsYours is an opinionated movie-picker that helps users decide what to watch next. It scrapes Letterboxd watchlists, leverages AI for recommendations, and presents results in a visually stunning, Matrix-themed interface. Users can get random picks, filter by genre, and enjoy a unique, animated journey to their next film.
How I built it
Frontend: Built with React 18, Vite, Framer Motion for animations, and React Three Fiber for 3D effects. The UI is fully responsive and themed after the Matrix.
Backend: Written in Go, using the Colly library for fast, concurrent web scraping of Letterboxd. AI recommendations are powered by the Google Gemini API. The backend is fully containerized with Docker for easy deployment.
Integration: The frontend communicates with the backend via RESTful API endpoints, and all services are orchestrated for seamless user experience.
Challenges I ran into
Web Scraping: Letterboxd’s dynamic content and anti-bot measures required careful handling and robust error management.
Concurrency: Managing parallel scraping tasks efficiently in Go, while respecting rate limits and timeouts.
Theming: Achieving a cohesive Matrix look and feel across all components, including animations and 3D effects.
Deployment: Ensuring smooth Docker builds and cross-platform compatibility.
Accomplishments that I'm proud of
Built a fully concurrent, production-ready Go backend with advanced scraping and AI integration.
Delivered a visually immersive, animated frontend experience.
Achieved seamless integration between all tech stacks.
Created a tool that will hopefully make someone's movie night easier and more fun!
What I learned
Advanced Go concurrency patterns and best practices for web scraping.
How to design and implement immersive UI/UX with React, Framer Motion, and Three.js.
Effective Dockerization and deployment strategies for modern web apps.
The importance of robust error handling and user feedback in both frontend and backend.
What's next for TheChoiceIsYours
Self-hosted AI: Transition from Gemini API to a self-hosted, fine-tuned sentence-transformer model for even smarter recommendations.
User Accounts: Add persistent user profiles and personalized history.
More Sources: Integrate additional movie databases and streaming services.
Mobile App: Build a native mobile version for iOS and Android.
Social Features: Let users share recommendations and watchlists with friends.
Log in or sign up for Devpost to join the conversation.