The backend is a Flask application which is expected to run on Python 3.6+ using type annotations.
The persistence layer is handled using SQLAlchemy via Flask-SQLAlchemy. Database schema migrations are performed by Alembic.
The REST API follows the JSON-API standard using Flask-REST-JSONAPI.
API that fits an RPC model better than a REST model is serialized using marshmallow which is what Flask-REST-JSONAPI uses anyway.
The frontend framework is React, using Redux for state management. The source is written in TypeScript and transpiled to ES5.
The UI framework/CSS framework is semantic-ui. We use the React components for this as well.