The UK Government and Parliament Petitions website is a powerful platform, giving the British public a direct way to raise issues and seek a government response. The process is clear: petitions that surpass 10,000 signatures receive an official government response, and those reaching 100,000 signatures are considered for debate in Parliament.

Recognising the richness of this public dataset, I developed the UK Petitions Explorer, a web application designed to offer a more dynamic and engaging way to explore this data than the standard government interface.


Leveraging Open Data with a Modern Frontend

The foundation of this project was the Government's decision to make all petition data openly available through a public API. This allowed me to build a custom front-end experience focused entirely on data visualisation and user-friendly interaction.

Key Technical Highlights

  • ReactJS Frontend: The entire application was built using ReactJS to create a fast, single-page, and highly interactive search environment.
  • Data Visualisation: I used PlotlyJS to generate interactive graphs showing signature count trends and distribution, providing users with instant insights into the momentum and growth of various petitions.
  • Geospatial Mapping: The app integrates LeafletJS maps to visualise the geographic distribution of signatures (this bit is quite limited, with signatures simply assigned to nations).

# Bit rot - a note on longevity...

I'm proud of the original dynamic search and visualisation features I built into this app, it was one of the first web apps I developed. However, as is common with many older side projects that rely on external services, the Government API appears to have changed over time. I am a little bit embarrassed to admit that if you try to view the detailed pages for individual petitions, you'll find they don't load anymore! 😅

While the main search page and overview data still function, the deeper detailed views have sadly succumbed to **API bitrot**—a gentle reminder of the constant need for a maintenance loop in development!


See the Project

You can still visit the live demo to see the main search interface and explore the codebase: