Zacząłem od modelu danych i ścieżki płatności: co widzi gość, co zalogowany użytkownik, a co subskrybent. Strażnik tras w Angularze sprawdza plan, zanim pokaże treść premium, a backend robi to samo drugi raz, więc nikt nie obejdzie blokady przez podmianę adresu.
Interfejs to ciemne szkło z rozmyciem tła, globalne wyszukiwanie pod skrótem Cmd+K, paginacja z animowanymi kropkami i osobne widoki dla postaci, odcinków i lokalizacji. Logowanie przez Google albo e-mail, sesja odnawia się sama dzięki parze tokenów dostępowego i odświeżającego.