David Sauntson

A React ETL App for Contentful

We publish quarterly ratings for a number of energy suppliers in the UK. Scores are calculated in house based on a number of metrics, and a ranked table along with detailed scoring information is presented to users on our site.

The table required a lot of manual data entry and validation so I built a React / Redux app that extracts data from a CSV file, parses the data into the required formats and updates a number of entries in our CMS, Contentful. All using the Contentful design system, Forma36, to create a custom app that has the look and feel our content designers are used to.

I worked with the energy team's product manager and content designer to refine the user journey and ensure that the app met the needs of the team. The app is deployed continuously using github actions and uses playwright and vitest for automated testing.

Part of our custom built app that transfers data from a CSV file into our content management system.
The app showing the status of a data import, using Contentful's design system.

Check out the code.