Since there's not much of a spec (past users on newish devices), I would default to:
* Next.js - React on the frontend with endpoints handled by Next.js.
* Postgres for the DB
* Hosted on Vercel (unless otherwise specified).
* S3 for binary files.
If the project scope was anything past what Next.js APIs can reasonable handle (heavy DB migrations required, an admin panel, etc), I'd go with:
* Django Rest (or Django Graphene for GraphQL if it's a better fit) on the backend.
* React on the frontend (possibly still with Next.js if server-side rendering is high priority).
* Postgres for the DB.
* Frontend hosted on Netlify or Vercel.
* Backend hosted on Elastic Beanstalk, DB hosted on AWS Aurora, and S3 for binary files.
You can reasonably handle those in next.js as well!
For backend, I use hasura: https://hasura.io/opensource/
It's a GraphQL backend, that wraps a postgresql database, and handles the heavy lifting. GraphQL is very easy to work with in the javascript/typescript ecosystem.
For admin UI, they're very easy to build with react-admin: https://github.com/marmelab/react-admin
Wrapping them inside next.js is actually doable too, if that's a requirement (or it can be it's own react app, and you can share components between them).