Vit Busek
← Work

August 2026

My Movies

A personal streaming catalogue pulling from TMDB, presented as a Netflix-style browsing UI with linkable search and a watchlist behind sign-in.

My Movies' home page: a full-bleed hero for a trending title with its synopsis and a More Info button, above a Trending This Week row of poster thumbnails.
Role
Solo build — frontend, backend, infrastructure
Stack
Next.js, TypeScript, Tailwind, Postgres, Drizzle, Auth.js, Vercel, Docker

What it brings

Technical design

fetch, cached by tag

Client

  • Next.js 16 App Router

Server

  • server/tmdb

    Typed client, cache tags per endpoint.

  • server/auth

    Auth.js with the Drizzle adapter.

  • server/watchlist

    Server Actions.

  • /api/revalidate

Data

  • Postgres (Neon)

  • Drizzle ORM

External

  • TMDB API

Server Components

Drizzle

  1. TMDB responses are cached by tag, through Next's own data cache. Windows run from a day for configuration down to five minutes for search, so a browse page costs nothing upstream.
  2. Sessions live in the same Postgres as the watchlist. One database and one migration history, through the Auth.js Drizzle adapter.