Redash is a single-page web app, with JS frontend and backend.
Originally having the frontend written in AngularJS, since V5, it's in transition to React:
Redash itself is written in Python.
The UI (frontend) is AngularJS, which is responsible for all the visualizations, dashboards, and the query editor. The regular user interacts with this the most.
The server (backend) is a Flask App, which uses the Celery Distributed Task Queue as its task worker engine (Celery workers are responsible for query execution).
The server handles the actual query execution requests on various Data Sources, such as dashboard refresh requests, ...