HookedOnMovies
Full-stack media discovery platform built on Next.js with SSR/ISR, a TypeScript normalization layer across TMDB's Movie & TV APIs, and sub-second TTFB via parallel server-side data fetching.
Project overview
HookedOnMovies is a production-quality media discovery platform with a focus on performance, type safety, and cinematic UX. Users can explore trending content, view rich metadata, watch trailers, and surface recommendations—with a UI that competes visually with commercial streaming platforms.
Engineering: type safety & fetch architecture
TMDB's API returns fundamentally different shapes for movies versus TV shows. A custom TypeScript normalization layer maps both into a single shared interface consumed across all components—eliminating defensive nullchecks throughout the codebase. Combined with Promise.all parallel fetching on the server, page data is assembled in a single round-trip rather than a waterfall.

Impact
Demonstrates end-to-end ownership of a full-stack Next.js product: API integration architecture, TypeScript system design, ISR caching strategy, SEO implementation, and a polished Framer Motion UI—all shipped as a cohesive, performant application.
Core Features
Built for Performance
TypeScript data normalization layer that reconciles inconsistent TMDB Movie vs TV Show field schemas into a single unified interface—eliminating runtime type errors across the entire app
Parallel server-side data fetching with Promise.all across multiple TMDB endpoints, cutting TTFB significantly versus sequential waterfall requests
ISR (Incremental Static Regeneration) on detail pages — content stays fresh without per-request SSR cost, ideal for high-traffic title pages
Full SEO implementation: dynamic Open Graph tags, structured metadata per page, and canonical URLs for discoverability on search engines
Roadmap
Personalized recommendation engine
Replace TMDB's basic 'similar' endpoint with an embedding-based recommender (OpenAI embeddings + cosine similarity) that learns from a user's watch history and ratings.
User accounts + persistent watchlists
Add NextAuth.js with Google OAuth, PostgreSQL-backed watchlists, and per-user recommendation personalization that persists across sessions.
Streaming availability via JustWatch API
Show which platform (Netflix, Prime, Hotstar, etc.) each title is currently available on — bridging discovery to instant action.
Redis edge caching for TMDB responses
Cache API responses at the CDN edge with configurable Redis TTLs to eliminate redundant TMDB calls and achieve sub-100ms global response times.