skip to content
stevengates.io
back to home
case study·secondary·since 2017

GatesFlix

A private Netflix-clone movie database.

private build.NETC#MVCSynology
GatesFlix private Netflix-clone movie library

the project

GatesFlixis a private, self-hosted movie library — a Netflix-style browse-and-play interface backed by my own 2,000+ purchased film collection. Built it for the family, not the public. No subscription, no ads, no random “coming soon” pages — just the films I own, indexed and streamable from anywhere on the home network.

why i built it

The streaming services kept losing the films I actually wanted to rewatch. Licenses expire, catalogs shuffle, the title you queued last month is suddenly gone or behind a different subscription. I'd already bought the physical media. The right answer was to own the experience too.

So I built one. Started 2017, kept it running and growing since.

the stack

  • .NET / C# / MVC for the web app — server-rendered pages, clean controllers, EF for the catalog data.
  • IMDb integration for metadata enrichment — posters, runtimes, cast, plot summaries automatically pulled per title.
  • Synology NAS as the storage tier — bulk movie files live there, accessible over SMB for management and HTTP range-requests for streaming.
  • VLC-based encoding pipelineon the NAS — normalizes incoming rips into a browser-playable format so the app doesn't have to transcode on-demand.
  • Home-network deployment — runs on local hardware, accessible from any device on the network, no cloud bill.

what's actually interesting

The web app is the easy part. The interesting bit is the pipeline behind it — the ingest workflow that takes a freshly-ripped disc, normalizes it through VLC, writes it to the NAS, enriches the metadata from IMDb, and lights it up in the browse UI. That's where the engineering lives: storage, transcoding, metadata, and a tiny bit of media-server discipline so nothing ever fails silently on playback.

what this demonstrates

  • Full-stack ownership. Web tier, data tier, storage tier, encoding pipeline, deployment — all of it. No team to lean on.
  • Long-running production. Live since 2017. Real workload, real uptime, real maintenance. Not a weekend toy.
  • Pragmatic stack choices..NET / MVC because that's what I knew best in 2017 and it's rock-solid for this. Synology + VLC because they do the job without a SaaS subscription. The boring stack is often the right stack.
  • Personal problem, engineered solution. The kind of thing I build when something annoys me — and the kind of project that proves the motivation is the work itself, not a paycheck.