Back to projects

Media Tracking

SlateWatch

Personal media notes can fragment across watch history, watchlists, discovery, and recommendations unless the product keeps intent and history distinct.

Abstract media tracking interface with watchlist lanes, history timeline, and metadata panels.

Role

Product engineering, information architecture, and self-hosted product framing.

Engineering Focus

.NET API, Angular frontend direction, PostgreSQL records, Redis/background-job direction, metadata search, watchlist sync, and playback tracking.

Public Scope

Public overview of media tracking concepts without private library or server details.

Tracking foundation

Project Foundation

Public-safe case study focused on media tracking, watchlist organization, and a self-hosted-first privacy boundary.

Evidence Signals

  • The documented V1 goals include metadata search, personal watchlists, media-stack sync, playback events, notifications, and preserved watched history.
  • Movie and show flows are intentionally distinct where integration behavior differs.
  • Private library details, server details, credentials, and live app links are intentionally excluded from the public case study.

Engineering Highlights

  • Watchlist and library concepts keep saved intent, synced inventory, and watched history separate.
  • Metadata search, Arr sync, notification, and Jellyfin playback-event integration are documented as the self-hosted tracking direction.
  • The project is explicitly framed as tracking and organization rather than streaming or content distribution.

Portfolio Proof Points

  • Tracking, not streaming
  • Watchlist sync direction
  • Private media boundary

SlateWatch is a self-hosted movie and TV tracking foundation focused on watchlists, metadata search, media-stack sync direction, playback events, and durable watched history.

Problem Shape

Personal media notes can fragment across watch history, watchlists, recommendations, discovery lists, and library tools. The product direction is a tracker that helps keep those decisions organized without becoming a streaming or content distribution surface.

Product Direction

  • Organize movie and TV metadata around personal intent.
  • Keep discovery, saved items, and watch history distinct.
  • Use self-hosted integrations as backend-owned product behavior, not public portfolio links.
  • Preserve watched history even when external library state changes.
  • Avoid presenting the project as a streaming service.
  • Keep the self-hosted-first privacy boundary clear.

Engineering Notes

The interesting work is information architecture and integration boundaries: how to represent media, watchlists, intent, library inventory, sync status, playback events, and watched history in a way that remains simple enough for repeated personal use.

The documented direction includes a .NET API, Angular frontend, PostgreSQL records, Redis/background-job direction, metadata search, movie and show watchlist flows, notifications, and playback-event handling. The public case study can describe those product boundaries without exposing private library contents, server details, credentials, or live app links.

Evidence Signals

  • The documented V1 goals include metadata search, personal watchlists, sync validation, notifications, playback events, and preserved watched history.
  • Movie and show flows are separated where their sync behavior differs.
  • The project is explicitly not a streaming platform or content distribution surface.
  • Docker Compose and self-hosted deployment notes exist, but private deployment values stay out of the portfolio.

Public Boundary

This page focuses on tracking, discovery, and organization. Private app links, infrastructure details, media server details, credentials, logs, streaming links, content distribution, private user data, private environment values, and live deployment details stay out of view.

Public case study only. Private operations, credentials, logs, dashboards, live app links, real screenshots, and infrastructure details stay out of view.