Skip to content

A smart, real-time movie recommendation engine powered by Next.js, FastAPI, and Machine Learning (Sentence Transformers).

Notifications You must be signed in to change notification settings

KavinMK05/FlickPick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FlickPick Application Screenshot

🎬 FlickPick

Your Personalized Movie Discovery Companion

An intelligent, real-time movie recommendation engine powered by content-based machine learning.
Experience instant, personalized suggestions based on your unique taste profile.

Next.js React TypeScript Tailwind CSS
Python FastAPI MySQL

📖 Overview

FlickPick is not just another movie app—it's a sophisticated recommendation system designed for speed and accuracy. By leveraging Sentence Transformers and cosine similarity, FlickPick analyzes movie descriptions and genres to find hidden gems that match your preferences perfectly.

The system learns from your ratings in real-time. Every like, dislike, or star rating instantly refines your profile, ensuring that your next recommendation is better than the last.

✨ Key Features

  • 🔮 Smart Recommendations: Advanced content-based filtering that understands the nuance of movies, not just the genre.
  • ⚡ Instant Feedback Loop: No waiting for nightly batch jobs. Rate a movie, and your feed updates immediately.
  • 🎨 Modern Data-Rich UI: Built with Next.js 15 and Tailwind CSS 4, featuring a beautiful dark-themed interface with smooth animations (Framer Motion).
  • 📋 Watchlist Management: Keep track of what you want to see next.
  • 🔍 Deep Search: Find movies by title, genre, or keywords.

🛠️ Technology Stack

Frontend

Backend

  • API: FastAPI (High performance Python 3.10+ framework)
  • Database: MySQL with SQLAlchemy ORM
  • Machine Learning: Sentence Transformers (all-MiniLM-L6-v2) for vector embeddings.

� Dataset

This project utilizes the TMDB 930k Movie Dataset from Kaggle for comprehensive movie metadata and descriptions.

�🚀 Getting Started

Prerequisites

  • Node.js (v18+)
  • Python (3.10+)
  • MySQL Server

Installation Setup

  1. Clone the Repository

    git clone https://github.com/yourusername/flickpick.git
    cd flickpick
  2. Backend Setup

    cd backend
    python -m venv .venv
    # Windows
    .venv\Scripts\activate
    # Mac/Linux
    # source .venv/bin/activate
    pip install -r requirements.txt

    Note: Ensure your MySQL server is running and database.py is configured correctly.

    Start the API server:

    fastapi dev main.py
  3. Frontend Setup

    cd frontend/flickpick
    pnpm install
    pnpm dev
  4. Experience It Open http://localhost:3000 in your browser.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


Created by KavinMK05