Robisz podstawowy błąd - chcesz za szybko zacząć pisać kod :)
Zawsze to powtarzam i będę tym męczył aż mnie ktoś nie zbanuje :) - zanim zaczniesz pisać kod weź kartkę i ołówek (nie długopis!) i rozpisuj sobie kolejno jakie funkcjonalności chcesz aby miała Twoja aplikacja. Rozpisuj je najpierw ogólnie, stopniowo uszczegołowiając każdą z nich ale bez żadnego kodu.
Nie interesuje Cię teraz np. czy token logowania trzymać w cookies, localStorage, indexedDB itp. ale interesuje Cię że "user ma mieć możliwość zalogowania się", "przy logowaniu ma podawać jakieś podstawowe dane", "zalogowany user ma mieć dostęp do większej liczby treści", "niezalogowany user ma być informowany o plusach rejestracji" itp. itd.
Poświęc temu minimum jeden CAŁY wieczór, zapisz parę kartek lub użyj karteczek i tablicy.
Dopiero potem zacznij myśleć o zakodowaniu tego. Na przykład bierzesz "logowanie usera" i dopiero teraz googlujesz na to hasło, jak najlepiej itp. Trafisz np. na tokeny JWT i rozważysz cookies albo inne metody, np. poprzez headers i body response itp. Następnie przejdziesz do konkretnej implementacji w jakimś języku itp. itd.
Małymi kroczkami. Musisz nauczyć się rozbijać apkę na małe problemy i dążyć do ich rozwiązywania. Wtedy znacznie szybciej znajdziesz pomysł na każdy problem.