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:
- Live Demo (Main Page Working): uk-petitions.nicksynes.com
- Repository: github.com/nsynes/uk-petitions-react-app