← All projects
web2026

Couch Potato

Couch Potato

Couch Potato started as a movie and TV discovery platform built with Next.js 15 and React 19, powered by the TMDB API, and has grown into a full virtual theater booking product. Users search and browse movies, TV shows, and people, build a personal watchlist and favorites list, and manage their profile behind Supabase-authenticated accounts with full login, signup, and password reset flows. On top of discovery, an admin console lets staff add movies to the theater as bookable showtimes with per-seat-tier pricing; users pick a showtime, select real seats on an interactive seat map, and pay through a Stripe Checkout flow with webhook-reconciled bookings. A notification system tells every user, via an unread badge in the navbar, when a new movie has been added to theaters, and one click takes them straight from that notification into booking with pricing already loaded. All of it is backed by a Prisma/PostgreSQL schema modeling showtimes, seats, bookings, and per-user read state.

/ Stack

Next.jsTailwind CSSSupabasePrismaPostgreSQLStripe

/ Highlights

  • Supabase-authenticated accounts with login, signup, and forgot/reset password flows
  • TMDB-powered discovery across movies, TV shows, and person pages
  • Personal watchlist and favorites system backed by Prisma/PostgreSQL
  • Admin console for adding movies to the theater as showtimes with per-seat-tier pricing
  • Interactive seat-map booking flow with Stripe Checkout and webhook-reconciled payments
  • In-app notification system with an unread badge that alerts users the moment a movie is added to theaters, linking straight into booking with prices
  • Booking history and management from a dedicated profile bookings page
  • Advanced search and category filtering across films and shows
  • Detailed cast, crew, reviews, and trailers per title