Project overview
CineRadar: Your Personalized Movie and TV Show AI Companion. It provides tailored movie and TV show recommendations powered by AI. Simply input your preferences, including genre, style, and actors, and let our AI generate a curated list of suggestions just for you. For more control use manual search feature to explore the extensive TMDB movie database. You can also log in using Google or GitHub authentication, and create a custom list to track your viewing journey. Mark movies as planning to watch, completed, or watching, and even rate them on a scale of 1 to 10.
Project features
-
AI powered movie or TV show suggestions according to the user requests.
-
Manual search using TMDB database with search filters:
- Keywords.
- Adult movies toggle.
- Release year.
- Language.
-
Sign In with Google or Github authentication.
-
Create your personal list and add movies with custom status or rating.
- Status: Planning to watch, Completed, Watching.
- Rating: 1-10.
-
Ability to sort the list based on rating, status or type: movie or TV show.
-
Google reCAPTCHA protection.
Building process
Some day I was looking for a website that would allow me to get movie suggestions but all the websites that I visited didn't work the way I wanted and were not as flexible, so I decided to make my own. I wanted the website to allow user to enter his preferences and it would give him recommendations on that and AI chatbot would achieve these goals.
I chose Next Js because for application of this scale a metaframework like Next is very convenient and allows for very fast development. For data storage I chose Turso because of low limits for free tier and because SQLite is a good choice for smaller apps.
Initially I planned to use Ollama.ai free open-source LLM's but since I would need to pay quite a lot of money for hosting an LLM and I don't have good enough hardware to self-host that wasn't a good option. And because of that I chose OpenAI API because it solves my problems of running my own LLM. It's pretty cheap and quite simple to set up, although using assistant API (customized AI model) is a a lot more complicated since you need to create threads and stream messages.