Back to work

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
Discovery / Recommendations
PreferencesCatalogueRatings
Scoring algorithmFind your next series
01

Context & problem

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.

02

What I built

  1. 01

    Account creation and authentication

  2. 02

    Preference questionnaire based on tastes, platforms and viewing mood

  3. 03

    Searchable series catalogue powered by Meilisearch

  4. 04

    Personal library with to-watch, watched and not-interested statuses

  5. 05

    Scoring-based recommendation system influenced by user ratings

03

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.

InterfaceNext.js
APINestJS
PersistencePrismaPostgreSQL
04

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.

05

Challenges

The main challenge was combining tastes, platforms, moods, genres and user ratings into a recommendation score that remains explainable and easy to tune.

06

Outcome

SerieMatch combines authentication, preference onboarding, catalogue search, personal library management and explainable recommendations in a single full-stack application.

Visit SerieMatch
Next case studyFlexitaf