Home
About
Projects
Blog

Providence

Providence is a comprehensive web application designed to increase transparency in Australian politics by making voting records, policy positions and political news more accessible to the public. I built this app to summarise information about representatives and for AWS codecommit/hosting experience.

React.jsRedux ToolkitStyled ComponentsReact RouterRechartsReact Context APIJavaScriptCSSAxiosJestTailwind CSSMSW
Providence

Providence is a comprehensive web application designed to democratise access to political information in Australia, making government processes and decision-making more transparent and accessible to all citizens. The application serves as a centralised hub where users can explore detailed information about their political representatives, track policy developments, monitor voting records and stay informed about political news.

Politician Profile View

Project Highlights

Architecture & Features

The application provides a rich set of features centered around four main areas: politicians, policies, parliamentary votes and news. Key features include:

  • Politician Profiles: Detailed information including voting histories, policy positions, and attendance records
  • Data Visualizations: Interactive charts showing voting patterns and policy support levels
  • Comparison Tools: Side-by-side comparison of politicians across various metrics
  • Location-Based Features: Find representatives based on postcode or location
  • News Integration: Political news linked to relevant politicians and policies
  • Dual Mode Operation: API mode (external data) and Database mode (mock data)

Technical Implementation

  • Frontend: React with Redux for state management
  • Data Visualisation: Recharts for interactive charts and graphs
  • Styling: Styled Components and Tailwind CSS
  • Testing: Jest and MSW for API mocking
  • Hosting: AWS Amplify with CodeCommit for CI/CD

Challenges & Solutions

  • Data Complexity: Implemented data normalization and caching strategies
  • Performance: Optimised chart rendering and implemented lazy loading
  • Accessibility: Ensured WCAG compliance and theme contrast ratios
  • Offline Support: Implemented service worker caching for core features

Technical Skills Demonstrated

This project showcases my expertise in:

  • Complex React application architecture
  • Data visualisation techniques
  • State management with Redux and Context API
  • AWS deployment and CI/CD pipelines
  • Accessibility best practices
  • Performance optimisation strategies

Share this project

Share: