










AI-powered operating system for animal rescue organizations. Manages the full animal lifecycle from rescue to adoption, with staff tools, public foster/adoption flows, medical tracking, timelines, analytics, and ai-based foster matching.
Complete animal lifecycle management: Rescue → Intake → Medical → Foster → Adoption
Admin portal for shelter staff to manage animals, medical records, fosters, and adoptions
Public website for browsing animals and applying to foster or adopt
AI foster matching with Google Gemini using experience, housing, kids, pets, and animal needs
Match scores (0–100) with strengths, concerns, and staff guidance on each foster request
Personalized “Recommended for You” animal list for logged-in foster volunteers
Animal timeline with visual journey history and event metadata
Medical records for vaccines, medications, conditions, and checkup reminders
Analytics dashboard with shelter metrics, charts, recent activity, and attention alerts
Role-based access for admin, shelter staff, foster volunteers, and adopters
Cloudinary media uploads for animal photos and videos
PNPM + Turborepo monorepo with shared database and authentication packages
Docker support for admin, web, and backend deployment
Problem
Foster-to-animal matching needed to be useful, not just a random score
Solution
Designed a structured foster questionnaire and packed profile format, then used Gemini to score compatibility against animal details and medical conditions, returning clear strengths, concerns, and suggested questions for staff.
Problem
Scoring many animals one-by-one with AI was slow and expensive
Solution
Built a batch scoring API that sends multiple animals in a single Gemini request, then maps scores back by animal ID for personalized recommendations.
Problem
Shelter workflows were spread across too many disconnected pieces
Solution
Modeled the product around the real animal lifecycle and built admin tools for intake, medical records, timeline events, foster review, and adoption tracking in one system.
Problem
Monorepo Docker builds failed due to missing shared config and packages
Solution
Configured Dockerfiles to build from the repo root and copy turbo.json, root tsconfig.json, and shared packages so admin, web, and backend images could build reliably.
Problem
Dashboard charts looked empty with low sample activity
Solution
Designed analytics around practical shelter metrics and chart formatting so the dashboard stayed readable and useful even with smaller operational datasets.