Inspiration
As college students, when we want to relax, movies are the first thing we turn to, but the process of finding the right movie is not always easy. We have all spent hours upon hours scrolling through Netflix, Hulu, Amazon Prime, and more, only to end up watching the same comfort movie we have all watched before. We need a way to input criteria that we want in a movie, and have an algorithm generate random movies that fit that criteria
What it does
MadMovies. Simply select the language you want to see, any genres you may be interested in, eras you might be interested in, and a budget range (for all the indie movie lovers), and MadMovies will generate 3 random movies that fit this criteria complete with their genres, user rating, release date, and a brief overview. If you don’t love your movies, simply reroll them and MadMovies will select 3 brand new movies that fit your criteria.
How we built it
- Frontend (React):
- Users take a quiz on the frontend, which asks questions about their favorite movie genres and other preferences.
- The answers are sent to the backend for processing.
- Backend (FastAPI):
- The FastAPI backend processes the quiz answers.
- It fetches movie data from an SQLite database to recommend movies based on user responses.
- Recommendations:
- The system filters the movies based on user choices.
- It returns a list of recommended movies to the user.
- Database (SQLite):
- Movies and their metadata (genre, description, etc.) are stored in an SQLite database.
- The database is lightweight, ensuring fast queries for recommendations.
Challenges we ran into
- Time constraints
- Corner cases with 'other' selections
Accomplishments that we're proud of
- Working project within constraints
What we learned
- Full stack development
- Database management
What's next for MadMovies
- Add cosine similarity to recommendation system
- Remove possibility of displaying same movie multiple times
- Add loading spinner as movies are loading in
- Dockerize and deploy outside of local environment
- Add placeholders for missing images
- UI touchups
Built With
- fastapi
- javascript
- python
- react
- sqlite
Log in or sign up for Devpost to join the conversation.