HarmOni
All-in-one synchronized viewing, local media library, and hybrid recommendations.
Overview.
HarmOni is a desktop application that brings friends together to watch in sync, organizes a rich local media library, and personalizes discovery using a hybrid recommendation engine—designed for smooth playback, clean UX, and fast, relevant results.
Key features
- Watch-together: real-time session control (play/pause/seek) with seamless synchronization.
- Smart library: fast search, faceted filters, and detailed metadata for movies and anime.
- Personalization: hybrid ranking that blends content similarity, collaborative filtering (SVD), a popularity prior (IMDb-style weighted rating), and a gentle recency boost.
- Modular design: Electron/NestJS desktop shell communicating with a Flask recommendation service for clean separation and easy iteration.
Tech stack
Electron, NestJS, TypeScript, Python, Flask, Pandas, scikit-learn, Surprise (SVD), Jinja, MongoDB
Architecture (simplified)
- The Electron/NestJS UI authenticates the user and gathers context.
- It calls the Flask API endpoint with user/profile signals.
- The service combines CF (SVD) + content similarity + IMDb-style weighted rating + recency into a final ranked list (with cold-start handled via content/popularity).
- The UI receives top-N items plus brief “why this” signals to improve transparency.
Datasets
- Movies: TMDB (titles/credits/metadata) joined with MovieLens ratings.
- Anime: MyAnimeList datasets on Kaggle with rich metadata and user scores.