gina's portfolio
Back to featured projects

Interactive data dashboard

Grazioso Salvare Rescue Animal Analytics Dashboard

A web-based analytics application that helps Grazioso Salvare identify shelter dogs suited to life-saving rescue training. The dashboard turns Austin Animal Center records into searchable, filterable, and visual information without requiring users to know database queries.

  • Python
  • MongoDB
  • JupyterDash
  • Pandas
  • Plotly
  • Dash Leaflet

Overview

Making shelter data useful for rescue decisions

The dashboard gives nontechnical users an intuitive way to explore animal records. Selecting a rescue category updates the candidate table, breed distribution, and geolocation map together so suitable dogs can be identified quickly.

Rescue categories

Purpose-built filters

  • Water Rescue
  • Mountain or Wilderness Rescue
  • Disaster or Individual Tracking
  • Reset to view the complete dataset

Core functionality

From database records to actionable insights

01

Reusable data access

A custom Python CRUD module connects the application to MongoDB and supports create, read, update, and delete operations.

02

Dynamic filtering

Radio-button filters query candidates by breed, sex, and age criteria defined for each rescue-training category.

03

Searchable data table

The dashboard presents shelter records in an interactive table that updates whenever the selected rescue category changes.

04

Linked visual analysis

Dash callbacks synchronize the table, Plotly breed-distribution chart, and Dash Leaflet geolocation map.

Dashboard gallery

Each filter refreshes the full analysis experience, keeping the candidate records and visual summaries synchronized.

Grazioso Salvare dashboard table with the mountain and wilderness rescue filter selected

Mountain and wilderness candidates

The filtered table presents dogs that match mountain and wilderness rescue criteria.

Mountain rescue breed-distribution pie chart beside an interactive map

Mountain rescue analysis

The breed chart and map update to reflect the filtered candidate set.

Grazioso Salvare dashboard table with the disaster rescue filter selected

Disaster tracking candidates

The table updates when the disaster or individual tracking filter is selected.

Disaster rescue breed-distribution pie chart beside an interactive map

Disaster rescue analysis

Linked visualizations summarize breeds and show a selected animal’s location.

Grazioso Salvare dashboard showing the complete data table after reset

Complete shelter dataset

Reset returns the dashboard to the unfiltered Austin Animal Center data.

Breed-distribution chart and Austin-area map for the complete animal dataset

Complete dataset analysis

The chart and map return to the complete dataset when filters are cleared.

Development process

Building the data pipeline and interface

01

Imported and cleaned the Austin Animal Center dataset in MongoDB

02

Created a reusable Python CRUD module for database access

03

Built the Dash layout with filters, a data table, a chart, and a map

04

Developed MongoDB queries for breed, sex, and age requirements

05

Connected user input to dashboard components with Dash callbacks

06

Tested every rescue filter across all visual components

Challenges & solutions

Refining accuracy, reliability, and structure

Filtering logic accuracy

Challenge

The initial filters relied only on breed values and did not fully represent the rescue-training requirements.

Solution

Expanded the MongoDB queries to combine breed, sex, and age-range conditions from Grazioso Salvare’s specifications.

Dashboard callback errors

Challenge

Some callbacks failed when a selection produced missing, empty, or null values.

Solution

Added conditional checks before processing data so every component could handle empty states safely.

Layout structure

Challenge

Early dashboard versions contained syntax and component-nesting errors.

Solution

Corrected the Dash component hierarchy and verified that every layout container was structured properly.

Project outcome

An integrated decision-support tool for rescue training

The finished dashboard combines MongoDB, Python, and Dash into an interactive analysis tool. Grazioso Salvare can filter shelter records using meaningful rescue criteria and review matching candidates through coordinated tables, charts, and maps.