Prototyping with data calls for technical choices that enable fast iterations, which can be taken to production when the time is right. Django, our go-to web framework, is well suited as a data delivery platform for the front-end application, which is in charge of manipulating and displaying the data. The data and metadata are provided via a simple REST API and the interface is built with React, providing great performance at scale out of the box. For the engagement with interactive charts to be high, it is paramount that the tool reacts quickly to user interaction regardless of the amount of data being manipulated.
We also wanted our charts to be as visually appealing as possible while being statistically accurate and highly customisable – hence the need for a good data visualisation tool like D3. It is now the de facto standard for building public-facing visualisations, requiring a high amount of expertise but providing the highest level of control over the final rendering of the charts.
The data exploration experience is more enriching when context is provided with additional content and related resources. This need is best served by a CMS like Wagtail. It is a drop-in addition to Django, providing a comprehensive back-end solution without compromising on the data API nor the administration experience that project stakeholders now expect.