Streaming platform

UzzUTV

An all-in-one streaming platform for movies, TV, and anime with discovery, watchlists, reviews, profiles, and Watch Parties.

  • Python
  • Django
  • JavaScript
  • Bootstrap
  • TMDB
  • AniList
  • Supabase
UzzUTV homepage showing movies and TV series to discover
streaming platform preview

THE IDEA

A streaming platform, built the Django way.

UzzUTV is a Netflix-style streaming platform built with Django for discovering, searching, and watching movies and TV series. TMDB supplies the movie and TV data, while AniList powers the Aniuzu anime catalogue.

The goal was to explore what it takes to build a real, feature-heavy media product end to end: rich browsing, accounts, playback tracking, reviews, and a social watch-party experience.

WHAT I BUILT

The features.

Four rough groups: discovery, watching, the social layer, and the anime catalogue.

01

Discovery

  • Browse trending, popular and top-rated titles
  • Filter the catalogue by genre categories
  • Rich detail pages with cast information
  • Search across movies, TV and anime
02

Watching

  • Stream movies and TV episodes
  • Move through seasons and episodes
  • Continue Watching resumes your spot
  • Save titles to your watchlist
04

Anime

  • Aniuzu anime catalogue powered by AniList
  • Anime detail pages with related titles
  • SUB/DUB selection and server switching
  • Episode search and Continue Watching for anime

UNDER THE HOOD

How it's built.

A classic Django stack with a couple of modern twists for auth and realtime.

Backend
PythonDjango 5.2.16
Frontend
HTML5CSS3Bootstrap 5JavaScript
Data
TMDB APIAniList
Auth + Realtime
Supabase
Database
SQLite
Cache
Django DatabaseCache
Deployment
PythonAnywhere

ENGINEERING HIGHLIGHTS

Behind the scenes.

The interesting decisions, not just the technology list.

Response cachingTMDB responses are cached in the database so repeat browsing stays fast without hammering the API.
AniList backoffAniList calls are cached too, with rate-limit and backoff handling when the API asks for a pause.
GZip compressionResponses are gzip-compressed to keep pages lighter over the wire.
Lazy-loaded imagesPosters and artwork load lazily so the catalogue stays quick on long scrolls.
Supabase authAccounts and sessions are handled by Supabase Auth, no homegrown password storage.
Realtime roomsSupabase Realtime powers synchronized Watch Party playback and calls.
Server-side onlyThe Supabase service-role credential never reaches the client; account deletion is handled server-side.
Progress trackingContinue Watching stores per-user playback state and resumes exactly where you stopped.
Responsive layoutsThe UI adapts from desktop to mobile without losing the catalogue experience.

FEATURE SPOTLIGHTS

Two features worth the detail.

Watch Party

Create or join a watch party and stream together in a synchronized playback room. Supabase Realtime keeps everyone locked to the same moment of the same episode.

One-to-one video calling

AcceptDeclineCancelTimeoutReconnectCameraMicrophoneMinimizeEnd call

Aniuzu

The anime side of UzzUTV, powered by AniList. Anime gets its own discovery, metadata, and watch experience alongside movies and TV.

  • Discovery
  • Anime metadata
  • Detail pages
  • Watchlist
  • Episode navigation
  • SUB/DUB selection
  • Server switching
  • Episode search
  • Continue Watching
  • Related anime

STATE PERSISTENCE

Continue Watching.

Playback history is tied to the authenticated user and stores exactly what it takes to resume later:

TitleRelease yearSelected serverTV season / episodePlayback positionDurationProgress percentage
where you left off

PROJECT JOURNEY

Idea to learning.

How UzzUTV reads as a portfolio piece.

Idea

A Netflix-style platform to explore Django, real data APIs, and a rich media UI.

Build

Full-stack Django app: templates, accounts, external APIs, caching and deployment.

Features

Discovery, watch pages, anime, reviews and the Watch Party social layer.

Learning

API caching, rate limits, realtime sync, auth patterns and state persistence.

PROJECT DETAILS

The essentials.

CategoryStreaming platform
StackPython / Django / JavaScript / Bootstrap / TMDB / AniList / Supabase
DatabaseSQLite
DeploymentPythonAnywhere
LicenseMIT

Want to see the code?

Explore the implementation, architecture, and source code.

View UzzUTV on GitHub