Show Tracker is a personal data-intelligence tool that transforms your raw streaming history into a powerful recommendation engine. By analyzing thousands of data points from your viewing habits, it identifies your "Talent Core" and "Genre DNA" to help you discover what to watch next with cinematic precision.
- Netflix Integration: Import your full
ViewingActivity.csvand watch as thousands of entries are instantly processed. - Smart Deduplication: Automatically groups 5,000+ individual episode entries into clean, manageable unique series records.
- Metadata Harvesting: Connects to OMDb to pull rich metadata, including Cast, Directors, Genres, IMDb Ratings, and Plot Summaries.
- Taste Profiling: Ranks your "Top Talent" by how many unique shows/films you've watched them in, not just episode counts.
- Match Scoring: Every potential show is given a "Compatibility Score" based on your specific history and "Thumbs Up" feedback.
- Interactive Carousel: A sleek, horizontal discovery section that proactively finds new works featuring your favorite actors.
- Netflix Tagging: Automatically identifies if a recommendation is currently available on Netflix.
- Drill-Down Filtering: Click any actor or genre in your sidebar to instantly pivot the recommendation engine to that specific talent or category.
- Training Mode: Use the Thumbs Up/Down system to refine your profile. "Liked" talent receive a +30 score boost in future suggestions.
- Backend: Python Flask + SQLAlchemy (SQLite)
- Frontend: Vue.js 3 (Composition API) + Tailwind CSS
- Intelligence: TVmaze API (Proactive Search) & OMDb API (Metadata)
- Python 3.8+
- An OMDb API Key (Free at omdbapi.com)
-
Initialize Environment:
python -m venv venv .\venv\Scripts\Activate.ps1 pip install -r requirements.txt
-
Configure API: Create a
.envfile in the root and add your key:OMDB_API_KEY=your_key_here
You must run both servers simultaneously:
-
Start Intelligence API (Backend):
python app.py
-
Start Cinematic UI (Frontend):
python -m http.server 5001 --directory frontend
Access the dashboard at
http://localhost:5001.
- Go to Netflix Account Settings.
- select a profile. - Or if there are multiple select Manage Profiles and select yours
- Click Watch history.
- Click Download All at the bottom of the page.
- Upload the resulting
NetflixViewingHistory.csvinto the dashboard using the Import History button.
utils/recommender.py: The heart of the scoring and cross-referencing logic.utils/parser.py: Handles complex Netflix CSV parsing and title normalization.utils/enricher.py: Manages the data pipeline between OMDb and the local DB.models.py: Relational schema for Media, People, and Watch History.