DESCENT PROTOCOL // BOOTING

Loading Sequence  ·  0%

2025In ProgressSolo full-stack developer

JFlix

A Netflix-style streaming browser built on Angular 17 with Signals, an Express backend, and TMDB for movie and TV data.

AngularSignalsNode.jsExpressMongoDBFirebaseTMDBTailwind CSS
JFlix

Overview

JFlix recreates a Netflix-style browse experience end-to-end. The frontend is Angular 17 using standalone components and Signals for reactive state, styled with Tailwind. The backend is a small Node and Express service sitting in front of MongoDB Atlas. Authentication is handled by Firebase, while TMDB provides the actual movie and TV catalog. I built this to practice wiring a single-page app to a real REST backend plus multiple third-party APIs without leaning entirely on a managed platform.

Highlights

  • Angular Signals driving reactive state instead of RxJS observable state.
  • Combined movies and TV search with debounced input and infinite scroll.
  • Hover previews and SVG image fallbacks for missing poster art.
  • Firebase authentication on top of a custom Express backend.

Challenges and approach

  • Search needed to combine movies and TV results from separate TMDB endpoints without blocking the UI. The fix was debounced input plus parallel fetches merged client-side.
  • Missing poster art made the grid look broken. Replacing failed image loads with generated SVG placeholders kept the layout consistent.