Voter Analytics
A Django web application to explore and analyze registered voter data. Users can filter voters by demographics, party affiliation, voter score, and election participation, view individual voter details, and generate interactive charts visualizing trends such as birth year distribution, party affiliation, and election participation rates.
Tech Stack: Python 3 / Django 4.x, PostgreSQL / SQLite (development), Plotly for interactive visualizations, HTML, CSS (custom voter-styles.css), Class-based views (ListView, DetailView), Django Forms for filtering
Key Features:
- Voter List Page : displays all voters with pagination, sortable by last name.
- Filter Form : filter voters by party affiliation, birth year range, voter score, and election participation.
- Individual Voter Pages : display detailed information, including address, date of birth, registration info, election participation, and voter score.
- Graphs Page : generate interactive charts using Plotly:
- Bar chart of voter birth year distribution
- Pie chart of party affiliation
- Bar chart of election participation across multiple years
- Clickable table rows for easy navigation to individual voter detail pages.
- Google Maps integration to view voter addresses.
- CSV import functionality to populate the database with voter data.
Soft Skills:
- Problem-Solving: Built dashboards and visualizations to simplify data interpretation.
- Communication & Visualization: Presented voter trends clearly using charts and graphs.
- User-Centered Design & Aesthetics: Created clean, intuitive dashboards to make complex voter data easy to interpret at a glance.