Ozilly is a highly optimized, AI-powered content recommendation system. Built to demonstrate proficiency in Machine Learning, Data Engineering, and Full-Stack deployment, this project leverages vectorization and cosine similarity to deliver highly accurate, personalized cinematic suggestions in real-time.
🟢 Live Deployment: weds2isikahulmykbeldox.streamlit.app
The core recommendation engine relies on Natural Language Processing (NLP) and content-based filtering.
- Feature Engineering & NLP: Processed metadata (genres, keywords, cast, crew) using
CountVectorizer/TfidfVectorizerto convert text data into a multidimensional vector space. - Dimensionality & Similarity Matrix: Computed the Cosine Similarity between movie vectors to mathematically determine content overlap, resulting in a pre-computed
184MBsimilarity matrix. - O(1) Matrix Lookups: The Streamlit application loads the pre-computed similarity matrix into memory via
pickle, allowing for O(1) index lookups and instant recommendation sorting.
- Python (3.9+): Core programming language.
- Scikit-Learn: Used for NLP text vectorization and computing the Cosine Similarity matrix.
- Pandas: Utilized for massive dataset cleaning, preprocessing, and DataFrame manipulation.
- NumPy: Employed for high-performance array operations and matrix sorting.
- RESTful API Integration: Integrated with the TMDB API to fetch live metadata and high-resolution posters.
- Concurrent Execution: Implemented Python's
ThreadPoolExecutorto perform asynchronous, parallel HTTP requests, dropping the API fetching time from ~8 seconds to < 1 second. - Cloud Data Streaming: Implemented
gdownto dynamically stream the massive184MBmachine learning model from Google Drive directly into the app runtime, bypassing GitHub's strict file size limitations (LFS constraints).
- Streamlit: Engineered the frontend interface with Python, utilizing
st.cache_dataandst.cache_resourcefor memoization and efficient state management. - Custom CSS/HTML Injection: Overrode default Streamlit styling with advanced CSS to create a premium, minimalist (Space Grotesk & Syne typography) user interface.
- Streamlit Community Cloud: Automated CI/CD pipeline for live deployment straight from the GitHub repository.
- Python 3.9+
- A TMDB API Key
-
Clone the repository
git clone https://github.com/yaadhuu/ozilly.git cd ozilly -
Install Dependencies
pip install -r requirements.txt
-
Run the Application
streamlit run ozilly.py
Note: On first initialization, the application will automatically download the required ML similarity model via Google Drive. This ensures your local repository remains lightweight.
This project is open-source and available under the MIT License.