inventar uma lógica de cadrasto de usuário ou usar um padrão já existente na área.
Usar um padrão já existente na área a menos que tenha um motivo muito bom para "reinventar a roda".
Isso são desde as famosas design patterns. Mas tbm são as libs, frameworks, linguagens, banco de dados, SOs, protocolos.
No fundo o mundo digital moderno é construído assim. No frontend de qualquer aplicação web média devem existir dezenas ou centenas de pacotes importados do npm. Em alguns projetos simples já verifiquei que existiam mais codigo importado do que fonte. Vale mencionar o codigo copiado so stackoverflow tbm?
Existem tbm todos os outros niveis de abstração que estamos usando de soluções prontas em uma aplicação web. Se você entra nessa pira de reiventar a roda, aonde você vai parar, vai querer reiventar o processador e a internet também? Claro que não né.
Dito tudo isso, aprender como as coisas funcionam por "debaixo do panos" é FUNDAMENTAL e sim implementar é a melhor aprender, mas não é a única. Estudar bastante sobre processadores e os protocolos envolvidos na internet com certeza vão te fazer um profissional melhor, mesmo que você não tenho os reinventados.