Pretty much any piece of software you're building needs some basic fundamental capabilities.
These include...
- Identity + Authentication + Permissions
- Data persistence + Change logs
- User Notifications (Notification tray, email, SMS, and more + end-user controls)
Can you help me think of more?