← Back to Projects

RecommenderX: Cloud-Based Movie Rating and Recommendation SaaS

Mar 2025 - May 2025
Django / Cloud / AI Recommendations

Project Type

  • Association: University of Missouri-Kansas City
  • Role: Full-Stack Data Product Developer / Cloud Application Developer
  • Problem Focus: Personalized movie discovery using user ratings, watchlists, reviews, and AI-generated summaries
  • Platform: Cloud-based SaaS movie recommendation system built with Django, PostgreSQL, Google Cloud, Railway, and Groq LLaMA
  • Core Workflow: User authentication, movie browsing, ratings, reviews, watchlists, collaborative filtering recommendations, and AI-powered review summaries

Objective

Built RecommenderX, a cloud-based movie recommendation SaaS that helps users discover relevant movies through personalized recommendations, watchlists, ratings, reviews, and AI-generated review summaries. The project combines Django, PostgreSQL, Google Cloud SQL, Google Cloud Storage, Clerk authentication, collaborative filtering, and Groq-hosted LLaMA 3 to deliver an end-to-end recommendation platform with user interaction, cloud persistence, and AI-assisted movie insights.

Tools & Technologies

PythonDjangoPostgreSQLCloud DeploymentAuthenticationGoogle Cloud StorageGroq APILLaMA

Project Details

Problem: Movie platforms often contain large catalogs, but users still struggle to quickly find movies that match their interests. Browsing by title or genre alone does not fully capture user preferences, prior ratings, watchlist behavior, or review context. Goal: This project built a cloud-based movie recommendation SaaS that helps users browse movies, save watchlists, rate and review titles, receive personalized recommendations, and view concise AI-generated review summaries.

Application: RecommenderX is a Django-based SaaS platform for movie discovery and recommendation. Public Access: Users can browse available movies without logging in, view posters, titles, genres, cast details, and movie metadata. Authenticated Access: Logged-in users can rate movies, write reviews, manage personal watchlists, and receive personalized recommendations based on rating behavior.

UI Layer: I built the interface using Django templates with a modern movie-platform style layout. Movie Browsing: The public-facing pages allow users to explore movie posters, titles, genres, and cast information. User Interaction: Authenticated users can submit 1–5 star ratings, write text reviews, and add or remove movies from a personal watchlist.

Framework: The backend was built with Django and Django REST Framework to support movie data management, user interaction workflows, recommendation logic, and API-style backend operations. Core Entities: The application manages movies, ratings, reviews, watchlist entries, users, and recommendation outputs. Purpose: The backend connects movie metadata, user behavior, and recommendation logic into a single reusable application workflow.

Authentication: I integrated Clerk.dev for user authentication so the application could support secure logged-in user workflows. Access Control: Public users can browse movies, while authenticated users can perform personalized actions such as ratings, reviews, watchlist management, and recommendation viewing. User Personalization: Authentication allowed user-specific activity to be stored and reused for personalized movie recommendations.

Database: I used Google Cloud SQL with PostgreSQL to store movie data, user ratings, reviews, watchlists, and application records. Poster Storage: I used Google Cloud Storage to store and serve movie poster assets. Cloud Value: This separated structured application data from media assets and made the platform closer to a real cloud-hosted SaaS architecture.

Movie Data Pipeline: I created a workflow to load movie data from CSV into the PostgreSQL database using a Django management command. Setup Flow: After environment configuration and database migration, the movie catalog can be populated through the load_movies_csv command. Reproducibility: This made the project easier to set up, rerun, and deploy across local and hosted environments.

Collaborative Filtering: I implemented personalized recommendations using a user-item rating matrix derived from user rating behavior. Recommendation Goal: The system recommends movies based on patterns in user ratings rather than only static genre filters. Personalization: As users rate more movies, the recommendation layer can better reflect user preferences and improve the discovery experience.

AI Integration: I integrated Groq Cloud API with Meta LLaMA 3 to generate concise AI-powered review summaries for movie detail pages. Input Context: The AI review workflow uses movie metadata and available review context to produce a short, readable summary. User Value: This gives users a faster way to understand the overall impression of a movie without reading multiple long reviews manually.

Hosting: I deployed the application using Railway. Environment Management: The deployment uses environment variables for Clerk authentication keys, database connection settings, and Groq API access. Cloud Architecture: The deployed system connects Django, Cloud SQL PostgreSQL, Google Cloud Storage, Clerk authentication, and Groq AI services into a working cloud application.

Local Setup: The project can be run locally by cloning the repository, creating a Python virtual environment, installing dependencies, applying Django migrations, loading the movie CSV data, and starting the Django development server. Environment Variables: The project uses environment variables such as CLERK_PUBLISHABLE_KEY, CLERK_SECRET_KEY, DATABASE_URL, and GROQ_API_KEY. Purpose: This setup makes the application reproducible across local development and cloud deployment environments.

Outcome: RecommenderX delivered an end-to-end cloud-based movie recommendation platform with public browsing, authenticated user interactions, watchlists, ratings, reviews, personalized recommendations, and AI-generated review summaries. Practical Value: The project demonstrates how recommendation systems become more useful when combined with user interaction data, cloud persistence, authentication, and AI-assisted content summarization. Future Scope: Future improvements include trailer integration, OTT platform links, hybrid recommendation models, deep learning-based recommendations, and sentiment-aware feedback signals.