← andre rowe / all work

case study — academic project

Grazioso Animal Rescue

Rescue-operations dashboard · SNHU CS-340

A rescue-animal organization needed field data it could act on in real time. I built the CRUD backend and the dashboard that surface it.

Role
Backend Developer & Data Engineer
Stack
Python · MongoDB · PyMongo · Dash · Plotly · Pandas
Missions
Water · Mountain · Disaster

the problem

Grazioso Salvare — the course's fictional client — trains animals for emergency operations. The challenge wasn't collecting data; it was making it actionable in real time. Field staff needed to filter animals by rescue readiness, see deployment areas, and make data-backed calls fast, without hand-sifting a raw database.

what i built

MongoDB data layer

  • Schema and indexes designed for fast filtering by mission profile
  • Indexed queries for responsive field retrieval across the dataset
  • Structured to scale to the full shelter dataset without redesign

Python CRUD module

  • A reusable PyMongo module wrapping all create / read / update / delete operations
  • Input validation and explicit error handling — no bad writes, no silent failures
  • Consumed by a Dash dashboard used as a clean data surface, not decoration
Grazioso dashboard: filterable animal records table
fig 01 — mission-based filtering across the shelter dataset
Grazioso dashboard: outcome charts and map view
fig 02 — outcome charts + geolocation mapping

results

5,000+shelter records filtered
3rescue-role filters
CRUDfull create · read · update · delete
−80%manual record-sifting

A typical field query — water-rescue-suitable dogs under two years old ({"age": {"$lt": 2}, "mission": "water"}) — resolves to a filtered dashboard view with the map and charts updating together. Built against the course's Austin Animal Center dataset.

engineering notes

  • Resolved MongoDB ObjectId serialization for clean backend-to-frontend data transfer
  • Kept Dash lean — used purely as a data surface over the CRUD layer
  • Credentials isolated in a .env file, kept out of version control