Clone the Pattern, Not Just the Posters
The useful part of rebuilding Netflix was not matching a dark background and a red logo. The project reproduced the application pattern: authenticated entry, protected browsing, a trailer-led hero, and category rows backed by live movie data. That made it a React product exercise rather than a particularly elaborate screenshot.
Keep Browse State Boring
Movie categories and application mode live in Redux Toolkit so the browse page and search experience share predictable state. The architecture is intentionally conventional: asynchronous movie data enters once, components consume stable slices, and route-level UI does not invent a second source of truth. Boring state is underrated, especially once five horizontal rows all want the same data.
AI Search Became Its Own Mode
Natural-language discovery is presented as a separate search surface rather than squeezed into every movie row. Switching modes lets the standard browse experience remain familiar while giving conversational search enough space for prompts and language selection. The tradeoff favours a clear mental model over making every screen visibly AI-powered.
What It Proved
The deployed app combines Firebase authentication, protected routes, TMDB categories, trailer embeds, responsive layouts, and a dedicated GPT search flow. It demonstrates the less glamorous parts of a convincing frontend clone: data orchestration, state boundaries, authentication, and keeping two discovery modes coherent.
