* Postgres for permanent storage
* an OIDC identity provider so you don't have to make your own password system
* Redis for caching
* S3-compatible object storage (so you don't have to reinvent file uploads)
* The app itself
What would you rather them do? Waste time reinventing the wheel for no reason? If you have the IDP and object storage setup already figured out you can get away with just the app, postgres, and redis.