Back

ShelterOS - Animal Shelters Management System

Overview

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.

Features

01

Complete animal lifecycle management: Rescue → Intake → Medical → Foster → Adoption

02

Admin portal for shelter staff to manage animals, medical records, fosters, and adoptions

03

Public website for browsing animals and applying to foster or adopt

04

AI foster matching with Google Gemini using experience, housing, kids, pets, and animal needs

05

Match scores (0–100) with strengths, concerns, and staff guidance on each foster request

06

Personalized “Recommended for You” animal list for logged-in foster volunteers

07

Animal timeline with visual journey history and event metadata

08

Medical records for vaccines, medications, conditions, and checkup reminders

09

Analytics dashboard with shelter metrics, charts, recent activity, and attention alerts

10

Role-based access for admin, shelter staff, foster volunteers, and adopters

11

Cloudinary media uploads for animal photos and videos

12

PNPM + Turborepo monorepo with shared database and authentication packages

13

Docker support for admin, web, and backend deployment

Built with

React Router FrameworkTypeScriptFastifyPostgreSQLDrizzle ORMTailwind CSSshadcn/uiGoogle GeminiCloudinaryDockerTurborepo

Challenges & Solutions

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.

GitHub