SerieMatch was built as a product-focused fullstack project to make series discovery more personal than a basic catalogue. Users can create an account, complete a preference questionnaire, browse a searchable catalogue and build a personal library around what they want to watch, have already seen or are not interested in.
Case studySeries discovery & recommendations
SerieMatch.
A fullstack series discovery app that helps users find recommendations based on their tastes, platforms, viewing mood and personal preferences.
- Project status
- Live
- Scope
- Full-stack application
- Website
- seriematch.othorel.fr
Context & problem
What I built
- 01
Account creation and authentication
- 02
Preference questionnaire based on tastes, platforms and viewing mood
- 03
Searchable series catalogue powered by Meilisearch
- 04
Personal library with to-watch, watched and not-interested statuses
- 05
Scoring-based recommendation system influenced by user ratings
Architecture
The application uses Next.js for the frontend, NestJS for the API, Prisma with PostgreSQL for persistence, Meilisearch for catalogue search, and the TMDB API to enrich series data. Shared TypeScript and Zod schemas keep validation and data contracts consistent across the stack.
Technical decisions
Use a deterministic scoring model to keep recommendations explainable, predictable and easy to iterate on.
Use thumbs-based ratings to increase or decrease recommendation scores based on user feedback.
Use Meilisearch to provide fast catalogue search and filtering by genre, mood and platform.
Use the TMDB API to import and enrich series data with metadata, posters and popularity signals.
Share TypeScript and Zod schemas between frontend and backend to keep API contracts and validation consistent.
Challenges
The main challenge was combining tastes, platforms, moods, genres and user ratings into a recommendation score that remains explainable and easy to tune.
Outcome
SerieMatch combines authentication, preference onboarding, catalogue search, personal library management and explainable recommendations in a single full-stack application.
Visit SerieMatch