Every Nostr dev has to re-implement the protocol themselves, as well as login (which isn't easy; OAuth is a quite sophisticated workflow), data storage, security, etc.
There are prefab components, but there aren't *Nostr* prefab components–at least, not many. I'm sure more will come as the ecosystem matures.