Project case study

Yoinker Personal Cloud Media Platform

A self-hosted media platform for importing, organizing, and streaming a private library, with ingestion jobs, metadata editing, playlists, and radio-style playback.

  • Active build
  • React
  • FastAPI
  • PostgreSQL
  • yt-dlp
  • FFmpeg
  • Docker

Why I built it

Yoinker came out of wanting one place to pull media into, clean it up, and play it back without depending on half a dozen disconnected tools.

The project became a much larger systems exercise once ingestion, metadata, streaming, and user-facing controls all had to feel like part of the same product.

System design

The backend coordinates ingestion jobs, media processing, and stream delivery while the frontend keeps the library usable enough to browse like an actual product instead of a debugging console.

  • FastAPI endpoints for authenticated ingest, metadata edits, and playlists
  • yt-dlp and FFmpeg workers for imports, transcoding, and HLS-friendly outputs
  • Docker Compose deployment with PostgreSQL and a streaming-ready media pipeline

Related photos

Images connected to this project

Silhouetted people walking through a dim corridor with a red neon reflection on the floor.

Night Interiors

Neon Corridor

A darker frame where silhouettes and reflected red light do the storytelling.

Vancouver, British Columbia · 2025

  • low-light
  • urban
  • interior
A tabby cat peeking around furniture with one paw visible in the foreground.

Backyard Encounters

Peeking Cat

A close portrait built on eye contact, soft depth of field, and one suspicious paw.

Vancouver, British Columbia · 2025

  • animals
  • portrait
  • domestic