Skip to content

Latest commit

Β 

History

History
1035 lines (846 loc) Β· 53.2 KB

File metadata and controls

1035 lines (846 loc) Β· 53.2 KB

PawHaven β€” Stray Animal Rescue Platform Β· Complete Product Blueprint

Version: v2.0 | Date: 2025-07-03 | Author: Product Manager
One-liner: A collaborative platform connecting reporters, rescuers, and adopters β€” from first sighting to forever home.


Table of Contents

  1. The Animal's Journey: Complete Lifecycle Overview
  2. User Model: Who Can Do What
  3. Stage 0: Discovery β€” How an Animal Becomes Visible
  4. Stage 1: Pending β€” Waiting for a Rescuer
  5. Stage 2: In Progress β€” Rescue Underway
  6. Stage 3: Treated β€” Medical Care Received
  7. Stage 4: Recovering β€” Rehabilitation Period
  8. Stage 5: Awaiting Adoption β€” Ready for a Forever Home
  9. Stage 6: Adopted β€” Mission Complete
  10. Endings Alternative: Failed, Duplicate, Cancelled
  11. Supporting Systems
  12. Value Flywheel & Roadmap

1. The Animal's Journey: Complete Lifecycle Overview

1.1 The Core Problem

A stray animal goes through many stages from discovery to a potential forever home. Today, these stages are deeply fragmented β€” the person who spots the animal doesn't know who to tell, people who could rescue it never hear about it, and those who might adopt it have no way to trust the animal's history. Every broken link in this chain means an animal that could have been saved is left behind.

1.2 The Full Lifecycle (8 Stages)

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STAGE 0     β”‚  Someone spots a stray animal.
  β”‚  DISCOVERY   β”‚  A passerby. A resident. Anyone.
  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ They open PawHaven and submit a report
         β”‚ (photos + GPS + urgency indicator)
         β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STAGE 1     β”‚  The case is now PUBLIC.
  β”‚  PENDING     β”‚  Visible on the homepage map/list.
  β”‚  (待响应)     β”‚  System notifies nearby volunteers.
  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜                            ↑
         β”‚ A volunteer "claims" the case       β”‚ If no one claims in 24h:
         β”‚ (publicly declares intent to help)  β”‚ system escalates β€” wider
         β–Ό                                     β”‚ radius, more notifications.
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STAGE 2     β”‚  Rescuer is en route or
  β”‚  IN PROGRESS β”‚  actively rescuing.
  β”‚  (ζ•‘εŠ©δΈ­)     β”‚  Posts updates β€” photos, notes.
  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ Animal is safely relocated
         β”‚ (trapped / caught / transported)
         β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STAGE 3     β”‚  Initial medical care done.
  β”‚  TREATED     β”‚  Cleaning, bandaging, vaccines,
  β”‚  (ε·²ζ²»η–—)     β”‚  basic checkup at a clinic.
  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ Entering recovery period
         β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STAGE 4     β”‚  Resting at shelter or foster
  β”‚  RECOVERING  β”‚  home. Periodic progress photos.
  β”‚  (康倍中)     β”‚  Behavioral assessment begins.
  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ Recovery complete, animal is healthy
         β”‚
    β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                      β”‚
    β–Ό                      β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STAGE 5     β”‚   β”‚  STAGE X     β”‚  Did not survive.
  β”‚  AWAITING    β”‚   β”‚  FAILED      β”‚  Could not be rescued.
  β”‚  ADOPTION    β”‚   β”‚  (ε·²η»“ζŸ)     β”‚  Escaped / lost.
  β”‚  (εΎ…ι’†ε…»)     β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ An adopter applies and is approved
         β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STAGE 6     β”‚  Animal has a forever home.
  β”‚  ADOPTED     β”‚  Adopter posts "first day home".
  β”‚  (ε·²ι’†ε…»)     β”‚  Case archived with full history.
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

1.3 Who Does What at Each Stage (At a Glance)

Stage Reporter Volunteer (Rescuer) Shelter Staff Adopter Guest / Casual User
0. Discovery Submits report β€” β€” β€” Can browse knowledge base
1. Pending Tracks progress, can add info Claims case, asks questions Browses cases, can claim β€” Sees case on map/list
2. In Progress Watches updates Executes rescue, posts updates Can offer transport / support β€” Views rescue progress
3. Treated Watches medical updates Uploads medical records Provides vet contacts β€” Views medical timeline
4. Recovering Follows recovery Posts progress photos Approves adoption readiness β€” Views recovery photos
5. Awaiting Adoption Sees case is adoptable Helps screen applicants Reviews applications Browses & applies Views adoption listing
6. Adopted Receives "mission complete" notification Invited to write story Case archived Posts home photo, writes story Reads rescue story

Bold = primary actor for that stage. A regular user who reports becomes the Reporter role. An unregistered passerby is a Guest.


2. User Model: Who Can Do What

2.1 Three Access Tiers (NOT Three User Types)

PaHaven does NOT ask users to "pick a role" at registration. Everyone registers as a single User. What they can do depends on their access tier β€” which is progressive:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                        GUEST                                 β”‚
  β”‚  (Not logged in. Arrived via link, search, or homepage.)     β”‚
  β”‚                                                             β”‚
  β”‚  CAN:                                                        β”‚
  β”‚  β€’ Browse the homepage map/list of pending rescue cases      β”‚
  β”‚  β€’ View any rescue case detail + full timeline               β”‚
  β”‚  β€’ Browse adoption listings                                  β”‚
  β”‚  β€’ Read knowledge base articles                              β”‚
  β”‚  β€’ Read rescue stories                                       β”‚
  β”‚                                                             β”‚
  β”‚  CANNOT:                                                     β”‚
  β”‚  β€’ Submit a report (must register first)                     β”‚
  β”‚  β€’ Claim a case                                              β”‚
  β”‚  β€’ Comment, follow, or interact                              β”‚
  β”‚  β€’ Apply to adopt                                            β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚ Register (email or social login)
               β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                     REGISTERED USER                          β”‚
  β”‚  (Logged in. Has a profile. Default tier.)                   β”‚
  β”‚                                                             β”‚
  β”‚  Everything Guest CAN, PLUS:                                  β”‚
  β”‚                                                             β”‚
  β”‚  β€’ Submit a stray animal report β†’ becomes the REPORTER       β”‚
  β”‚  β€’ Follow any rescue case β†’ get notified of status changes   β”‚
  β”‚  β€’ Comment on rescue cases + stories                         β”‚
  β”‚  β€’ "Like" stories and cases                                  β”‚
  β”‚  β€’ Bookmark knowledge articles                               β”‚
  β”‚  β€’ Apply to adopt an animal (submits application to shelter) β”‚
  β”‚  β€’ View personal profile (my reports, my follows, my apps)   β”‚
  β”‚                                                             β”‚
  β”‚  CANNOT:                                                     β”‚
  β”‚  β€’ Claim a rescue case (must opt into volunteer tier first)  β”‚
  β”‚  β€’ Update case status                                       β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚ Opt-in: Complete volunteer profile
               β”‚ (set location, capabilities, availability)
               β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                     VOLUNTEER (Registered + Opt-in)          β”‚
  β”‚  (Has completed volunteer onboarding. Capability profile.)   β”‚
  β”‚                                                             β”‚
  β”‚  Everything Registered User CAN, PLUS:                        β”‚
  β”‚                                                             β”‚
  β”‚  β€’ Claim pending rescue cases                                β”‚
  β”‚  β€’ Update case status (only for cases they claimed)          β”‚
  β”‚  β€’ Receive push notifications for nearby new cases           β”‚
  β”‚  β€’ Post rescue progress updates (photos + text)              β”‚
  β”‚  β€’ Upload medical records                                    β”‚
  β”‚  β€’ Request assistance from other volunteers                  β”‚
  β”‚  β€’ Mark a case as ready for adoption                         β”‚
  β”‚  β€’ Earn volunteer achievements and stats                     β”‚
  β”‚  β€’ Be thanked by reporters and adopters                      β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

2.2 Key Design Principle: Role Is Fluid, Actions Are Permission-Based

A single user account can do ALL of the above simultaneously:

  • Alice is a Registered User who reports a stray cat (now she's a Reporter for that case)
  • Alice also opted into Volunteer tier, so she can claim rescue cases
  • Alice later applies to adopt a dog β€” now she's also an Adopter

The system tracks these per-case or action-based roles. There is no profile setting that says "I am only a Reporter." The user is simply a User; what they can do depends on their tier.

2.4 What Each Tier Sees on the Homepage

Area Guest Registered User Volunteer
Map/List of pending cases βœ… Full view βœ… Full view βœ… Full view + distance + urgency badges
"Report a stray" CTA βœ… Button β†’ prompts login βœ… Active button βœ… Active button
Nearby pending cases (personalized) ❌ No personalization βœ… Based on saved city βœ… Based on GPS + volunteer radius pref
"Cases you're following" section ❌ βœ… Shows followed cases βœ… Shows followed cases
"Cases you claimed" quick access ❌ ❌ βœ… Quick action panel
New case push notifications ❌ ❌ (opt-in via follow) βœ… Automatic for nearby urgent cases
Adoptable animals βœ… Public listings βœ… Public + "apply" button βœ… Same as registered
Knowledge base βœ… Full access βœ… Full + bookmark βœ… Full + bookmark
Stories βœ… Full access βœ… Full + like/comment βœ… Same as registered

3. Stage 0: Discovery β€” How an Animal Becomes Visible

3.1 The Moment of Discovery

                 A person spots a stray animal.
                 Could be anyone.

       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚                      β”‚
       β–Ό                      β–Ό
  They know PawHaven?    They don't know PawHaven?
       β”‚                      β”‚
       β–Ό                      β–Ό
  Open app β†’ Report       They search "how to help stray
       β”‚                  animal near me" β†’ Find PawHaven
       β”‚                  via search / social share β†’
       β”‚                  Land on homepage as Guest β†’
       β”‚                  See existing cases nearby β†’
       β”‚                  "Oh, I can report too!" β†’
       β”‚                  Register β†’ Report
       β”‚                      β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β–Ό
         THE REPORT WIZARD
         (6 steps, mobile-first)

3.2 The Report Wizard (6 Steps)

This is the single most critical form in the entire product. It must work for someone stressed, in a hurry, possibly outdoors, with one hand on a phone.

Step 1: PHOTOS        Step 2: LOCATION      Step 3: ANIMAL TYPE
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Take or upload   β”‚   β”‚ GPS auto-fetched β”‚   β”‚ β—‹ Cat           β”‚
β”‚ 1-5 photos.      β”‚   β”‚ Address shown    β”‚   β”‚ β—‹ Dog           β”‚
β”‚ First = cover.   β”‚   β”‚ (editable).      β”‚   β”‚ β—‹ Other: [____] β”‚
β”‚                  β”‚   β”‚ Pin on map       β”‚   β”‚                 β”‚
β”‚ [Tap to capture] β”‚   β”‚ draggable.       β”‚   β”‚ Count: [1]      β”‚
β”‚                  β”‚   β”‚                  β”‚   β”‚                 β”‚
β”‚ Required βœ…       β”‚   β”‚ Required βœ…       β”‚   β”‚ Required βœ…      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Step 4: CONDITION    Step 5: URGENCY       Step 6: CONFIRM
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Appearance:      β”‚   β”‚ Structured Q's:  β”‚   β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β€’ Coat color     β”‚   β”‚                  β”‚   β”‚ β”‚ Case summary β”‚ β”‚
β”‚ β€’ Approx size    β”‚   β”‚ β–‘ Bleeding?      β”‚   β”‚ β”‚ Photo Β· Type β”‚ β”‚
β”‚                  β”‚   β”‚ β–‘ Cannot move?   β”‚   β”‚ β”‚ Β· Location   β”‚ β”‚
β”‚ Behavior:        β”‚   β”‚ β–‘ In danger zone β”‚   β”‚ β”‚ Β· Urgency    β”‚ β”‚
β”‚ β—‹ Friendly       β”‚   β”‚   (road/highway) β”‚   β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β—‹ Wary/avoidant  β”‚   β”‚ β–‘ Breathing      β”‚   β”‚                 β”‚
β”‚ β—‹ Aggressive     β”‚   β”‚   difficulty?    β”‚   β”‚ Your contact?   β”‚
β”‚                  β”‚   β”‚                  β”‚   β”‚ (optional)      β”‚
β”‚ Optional          β”‚   β”‚ Any YES β†’ Urgent β”‚   β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚ [Submit Report] β”‚
                                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

3.3 What Happens IMMEDIATELY After Submission

The reporter sees a confirmation screen β€” not a cold "Success" toast:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                                              β”‚
  β”‚         πŸ™ Thank you for reporting!           β”‚
  β”‚                                              β”‚
  β”‚  We've notified X volunteers and Y shelters   β”‚
  β”‚  near Garden Road, Chaoyang District.         β”‚
  β”‚                                              β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
  β”‚  β”‚  Case #PAW-0421 β€” "Injured White Cat" β”‚    β”‚
  β”‚  β”‚  Status: 🟑 Pending β€” Awaiting rescue β”‚    β”‚
  β”‚  β”‚  Reported: Just now                   β”‚    β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
  β”‚                                              β”‚
  β”‚  [πŸ“± Track this case's progress]             β”‚
  β”‚                                              β”‚
  β”‚  While you wait:                              β”‚
  β”‚  β€’ πŸ“– Read: "What to do when you find an     β”‚
  β”‚    injured animal" (from our knowledge base)  β”‚
  β”‚  β€’ πŸ”” We'll notify you when someone claims   β”‚
  β”‚    this case                                  β”‚
  β”‚                                              β”‚
  β”‚  Want to help more? [Become a Volunteer β†’]   β”‚
  β”‚                                              β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

3.4 Behind the Scenes: The System's Actions

Simultaneously, the system:

  1. Creates the case in the database with status = PENDING
  2. Geocodes the location β†’ determines city, district, and approximate radius area
  3. Matches volunteers within the configurable radius who:
    • Have "Online" volunteer status
    • Can handle this animal type (Cat / Dog / Small animal)
    • Are within their own notification radius setting
  4. Sends push notifications to matched volunteers:
    • Normal urgency: "A stray cat needs help 2.1km from you"
    • Urgent: "🚨 URGENT: Injured cat needs immediate help 2.1km from you" (with critical alert sound)
  5. Pushes the case to the public homepage map and list β€” visible to EVERYONE
  6. Starts an escalation timer: if not claimed within 24 hours (or 2 hours for urgent), escalate

4. Stage 1: Pending β€” Waiting for a Rescuer

4.1 What EVERYONE Sees

The case appears on the public homepage in two views:

Map View:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚       πŸ—ΊοΈ Map (leaflet / Mapbox)          β”‚
  β”‚                                          β”‚
  β”‚            πŸ“ Pine Rd                     β”‚
  β”‚         🐱 (urgent)                       β”‚
  β”‚                                          β”‚
  β”‚   πŸ“ Oak Ave         πŸ“ 5th St            β”‚
  β”‚   πŸ•                🐱                    β”‚
  β”‚                                          β”‚
  β”‚  [List View] [Map View]  Filters: β–Ύ      β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Blue dot = normal pending case
  • Red pulsing dot = urgent pending case
  • Tapping a dot shows a mini-card with photo + animal type + distance

List View:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Pending Rescue Cases                   β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
  β”‚  β”‚ [photo] 🐱 Injured White Cat         β”‚β”‚
  β”‚  β”‚        Garden Road Β· 2.1km away      β”‚β”‚
  β”‚  β”‚        🟑 Pending Β· 5 min ago        β”‚β”‚
  β”‚  β”‚        Urgency: High 🚨              β”‚β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
  β”‚  β”‚ [photo] πŸ• Brown Dog                 β”‚β”‚
  β”‚  β”‚        Oak Avenue Β· 3.5km away       β”‚β”‚
  β”‚  β”‚        🟑 Pending Β· 23 min ago       β”‚β”‚
  β”‚  β”‚        Urgency: Normal               β”‚β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

4.2 What the REPORTER Sees

After submitting, the reporter sees this case in two places:

  1. Post-submit confirmation screen (shown above)
  2. Profile β†’ "My Reports" β€” a dashboard of all cases they've reported
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  MY REPORTS                              β”‚
  β”‚                                          β”‚
  β”‚  Case #PAW-0421                          β”‚
  β”‚  🐱 Injured White Cat                    β”‚
  β”‚  Garden Road Β· Reported 2 hours ago      β”‚
  β”‚  Status: 🟑 PENDING                      β”‚
  β”‚  "We've notified 12 volunteers near you"  β”‚
  β”‚                                          β”‚
  β”‚  [View Full Timeline]                    β”‚
  β”‚  [Add More Information]                  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The reporter can add more information at any point while the case is pending β€” more photos, better description, correction of location.

4.3 What a VOLUNTEER Sees

A volunteer receives a push notification (if within radius):

"A stray cat needs help near Garden Road (2.1km away)"
or
"🚨 URGENT: Injured cat β€” Garden Road (2.1km away)"

Tapping it opens the case detail page, which for a volunteer includes:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  🐱 Injured White Cat                     β”‚
  β”‚  Garden Road, Chaoyang District           β”‚
  β”‚  🟑 Pending Β· Reported 5 min ago          β”‚
  β”‚  Urgency: 🚨 HIGH                         β”‚
  β”‚                                          β”‚
  β”‚  [Photo 1]  [Photo 2]  [Photo 3]         β”‚
  β”‚                                          β”‚
  β”‚  Description:                             β”‚
  β”‚  "White cat with injured right hind       β”‚
  β”‚   leg. Hiding under a parked car near     β”‚
  β”‚   the bus stop. Seems wary of people."    β”‚
  β”‚                                          β”‚
  β”‚  Animal: Cat Β· Adult Β· White             β”‚
  β”‚  Behavior: Wary/Avoidant                 β”‚
  β”‚  Location: πŸ“ Garden Road (approx)        β”‚
  β”‚                                          β”‚
  β”‚  Reported by: Anonymous Reporter          β”‚
  β”‚                                          β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
  β”‚  β”‚   CURRENTLY 0 VOLUNTEERS CLAIMED   β”‚   β”‚
  β”‚  β”‚                                    β”‚   β”‚
  β”‚  β”‚   [πŸ™‹ I'LL RESCUE THIS ANIMAL]     β”‚   β”‚
  β”‚  β”‚   (Claim this case)                β”‚   β”‚
  β”‚  β”‚                                    β”‚   β”‚
  β”‚  β”‚   Or: [Ask a Question]  [Share]    β”‚   β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

4.4 The Claiming Mechanism (Core Collaboration Action)

When a volunteer clicks "I'll Rescue This Animal":

  1. Confirmation dialog:

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  Claim "Injured White Cat"?     β”‚
    β”‚                                 β”‚
    β”‚  By claiming, you are committingβ”‚
    β”‚  to:                            β”‚
    β”‚  β€’ Go to the location           β”‚
    β”‚  β€’ Attempt to rescue the animal β”‚
    β”‚  β€’ Post status updates          β”‚
    β”‚  β€’ Transfer to vet/shelter if   β”‚
    β”‚    needed                       β”‚
    β”‚                                 β”‚
    β”‚  [Yes, I'm on it]  [Cancel]    β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
  2. Case status changes: PENDING β†’ IN_PROGRESS

  3. Everyone sees the update:

    • The claimer's name appears on the case: "Rescued by: Li Ming (Volunteer, 12 rescues)"
    • Other volunteers see: "1 volunteer handling this case" β€” they can still offer to Assist
    • The reporter receives a notification: "Li Ming has claimed your case and is on the way!"
  4. The claimed case moves to a different section on the homepage:

    • Map: dot changes from yellow to blue
    • List: moves from "Pending" to "In Progress" tab

4.5 What if NO ONE Claims the Case?

Escalation timeline:

Time Since Report Normal Urgency Urgent
0 min Push to nearby volunteers Push to nearby volunteers (critical alert)
30 min β€” Push to wider radius
2 hours Push to wider radius Push to ALL volunteers in city
24 hours Push to ALL volunteers in city Auto-escalate to partner shelters
48 hours Auto-escalate to partner shelters Platform admin reviews manually

At any point, the reporter can also share the case link on social media to crowdsource help.


5. Stage 2: In Progress β€” Rescue Underway

5.1 Who Can Update Status

Only the volunteer who claimed the case (or a shelter staff member who claimed it) can advance the status.

An assistant volunteer can post comments and upload photos, but cannot change the status.

5.2 What the Rescuer DOES

After claiming, the rescuer is expected to:

  1. Arrive at the location (travel time varies)
  2. Post an arrival update: "I'm at Garden Road. Can see the cat under the third parked car. Preparing the carrier."
  3. Execute the rescue β€” this may involve:
    • Direct capture (animal is friendly, can be picked up)
    • Trapping (requires trap cage, may take hours/days)
    • Coordinating with property management (animal in a locked area)
    • Calling for backup (animal is aggressive or large) β†’ "Request Assistance" button
  4. Post rescue complete update: "Cat secured in carrier. Transporting to Love Pet Clinic."
  5. Advance status to TREATED

5.3 What the REPORTER Sees During Rescue

The reporter follows the rescue via:

  1. Push notifications for each update:

    • "Li Ming has arrived at the location"
    • "Li Ming posted a new photo"
    • "The cat has been safely secured!"
  2. The case timeline (accessible from their profile):

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Rescue Timeline: Injured White Cat       β”‚
  β”‚                                          β”‚
  β”‚  TODAY, 14:30                            β”‚
  β”‚  πŸ”΅ IN PROGRESS                          β”‚
  β”‚  Cat secured in carrier. Transporting     β”‚
  β”‚  to Love Pet Clinic.                      β”‚
  β”‚  πŸ“Έ [photo of cat in carrier]            β”‚
  β”‚  β€” Li Ming, Volunteer                    β”‚
  β”‚                                          β”‚
  β”‚  TODAY, 14:00                            β”‚
  β”‚  πŸ”΅ IN PROGRESS                          β”‚
  β”‚  I'm at Garden Road. Located the cat      β”‚
  β”‚  under the third parked car near the      β”‚
  β”‚  bus stop. Preparing carrier.             β”‚
  β”‚  β€” Li Ming, Volunteer                    β”‚
  β”‚                                          β”‚
  β”‚  TODAY, 08:15                            β”‚
  β”‚  🟑 PENDING                              β”‚
  β”‚  Case reported by you.                    β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

5.4 What GUESTS and REGISTERED USERS See

Anyone browsing the homepage can click into the case and see the same timeline β€” minus private contact details. This transparency is the foundation of trust for the platform.


6. Stage 3: Treated β€” Medical Care Received

6.1 Transition Trigger

The rescuer (or shelter staff) advances the case to TREATED and uploads:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Update: Medical Treatment               β”‚
  β”‚                                          β”‚
  β”‚  Facility: Love Pet Clinic, Chaoyang     β”‚
  β”‚                                          β”‚
  β”‚  Treatment received:                      β”‚
  β”‚  β˜‘ Wound cleaning and bandaging          β”‚
  β”‚  β˜‘ Rabies vaccine                        β”‚
  β”‚  β˜‘ Deworming                             β”‚
  β”‚  β˜‘ Blood test                            β”‚
  β”‚  ☐ Surgery: ___________                  β”‚
  β”‚                                          β”‚
  β”‚  Medical notes:                           β”‚
  β”‚  "Right hind leg has a 3cm laceration.   β”‚
  β”‚   No fracture confirmed by X-ray.         β”‚
  β”‚   Expected recovery: 2-3 weeks."          β”‚
  β”‚                                          β”‚
  β”‚  Cost (optional, for transparency):       β”‚
  β”‚  Β₯680 β€” [View Breakdown]                 β”‚
  β”‚                                          β”‚
  β”‚  πŸ“Έ Upload medical documents / receipts   β”‚
  β”‚  [Upload Photos]                         β”‚
  β”‚                                          β”‚
  β”‚  [Save & Advance to Treated]             β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

6.2 What Changes for Viewers

  • The case now has verified medical records β€” this establishes the animal's health baseline
  • Future adopters can see exactly what medical care was received
  • The health record is immutable and timestamped (prevents later disputes about health status)

7. Stage 4: Recovering β€” Rehabilitation Period

7.1 Transition Trigger

After initial treatment, the animal is placed in a recovery environment:

  • Shelter/facility β€” managed by a partner shelter
  • Foster home β€” managed by a volunteer foster

The rescuer or shelter staff advances to RECOVERING and specifies:

  Recovery Location:
  β—‹ Happy Paws Shelter (partner)
  β—‹ Foster Home: [Volunteer Name]
  β—‹ Other: ___________

  Expected recovery duration: [2 weeks]

7.2 Ongoing Recovery Updates

The caretaker (shelter staff or foster volunteer) posts periodic updates:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Recovery Update β€” Day 5                  β”‚
  β”‚                                          β”‚
  β”‚  "Wound is healing well. Stitches removed β”‚
  β”‚   today. White Cat is eating normally and  β”‚
  β”‚   has started to purr when petted. She's   β”‚
  β”‚   much calmer now."                        β”‚
  β”‚                                          β”‚
  β”‚  πŸ“Έ [Photo of cat resting]               β”‚
  β”‚                                          β”‚
  β”‚  Weight: 3.2kg (up from 2.8kg)            β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

7.3 Behavioral Assessment (Critical for Adoption)

When the caretaker deems the animal physically recovered, they complete a behavioral assessment:

Trait Assessment Notes
Temperament Gentle / Playful / Independent / Timid
Human interaction Seeks attention / Tolerates / Avoids
Other animals Friendly / Indifferent / Reactive / Not tested
Children Suitable / Caution / Not tested
Leash trained (dogs) Yes / In progress / No
Litter trained (cats) Yes / In progress / No
Special needs None / Medication / Diet / Mobility aid / Other
Adoption suitability βœ… Ready for adoption / ⚠️ Needs more time

This becomes the adoption profile and is visible to adopters.

7.4 Advancing to Adoption

When:

  • Physical recovery is confirmed
  • Behavioral assessment is complete
  • Vaccinations are up to date
  • The animal has been spayed/neutered (or a commitment is in place)

β†’ The caretaker advances the case to AWAITING_ADOPTION.


8. Stage 5: Awaiting Adoption β€” Ready for a Forever Home

8.1 The Adoption Listing

Once marked AWAITING_ADOPTION, the case automatically appears on the Adoption page:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  🏠 ADOPTABLE ANIMALS                    β”‚
  β”‚                                          β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
  β”‚  β”‚ [photo] 🐱 White Cat                  β”‚β”‚
  β”‚  β”‚        Adult Β· Female Β· 1 year       β”‚β”‚
  β”‚  β”‚        Happy Paws Shelter Β· Chaoyang  β”‚β”‚
  β”‚  β”‚        ⏳ Waiting 3 days              β”‚β”‚
  β”‚  β”‚        Tags: Gentle, Litter-trained   β”‚β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
  β”‚                                          β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
  β”‚  β”‚ [photo] πŸ• Brown Dog                  β”‚β”‚
  β”‚  β”‚        Adult Β· Male Β· 2 years        β”‚β”‚
  β”‚  β”‚        Sunshine Shelter Β· Haidian    β”‚β”‚
  β”‚  β”‚        ⏳ Waiting 12 days             β”‚β”‚
  β”‚  β”‚        Tags: Playful, Leash-trained   β”‚β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

8.2 What an ADOPTER Sees (Full Detail)

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  🐱 White Cat β€” Available for Adoption    β”‚
  β”‚  Happy Paws Shelter Β· Chaoyang District   β”‚
  β”‚                                          β”‚
  β”‚  [Photo Gallery: 5 recovery photos]       β”‚
  β”‚                                          β”‚
  β”‚  ─── QUICK INFO ───                      β”‚
  β”‚  Age: ~1 year     Sex: Female (spayed)   β”‚
  β”‚  Breed: Domestic Shorthair               β”‚
  β”‚  Weight: 3.5kg                            β”‚
  β”‚                                          β”‚
  β”‚  ─── TEMPERAMENT ───                     β”‚
  β”‚  Gentle, seeks human attention.           β”‚
  β”‚  Good with other cats. Litter-trained.    β”‚
  β”‚  Suitable for families with children.     β”‚
  β”‚                                          β”‚
  β”‚  ─── MEDICAL RECORDS ───                 β”‚
  β”‚  βœ… Rabies vaccine (June 1)               β”‚
  β”‚  βœ… Deworming (June 1)                    β”‚
  β”‚  βœ… Spayed (June 15)                      β”‚
  β”‚  βœ… Blood test β€” negative for FIV/FeLV    β”‚
  β”‚                                          β”‚
  β”‚  ─── FULL RESCUE HISTORY ───             β”‚
  β”‚  β–Ά See complete timeline (6 stages)       β”‚
  β”‚    From discovery on Garden Road to       β”‚
  β”‚    recovery at Happy Paws Shelter.        β”‚
  β”‚                                          β”‚
  β”‚  ─── RESCUER INFO ───                   β”‚
  β”‚  Rescued by: Li Ming (πŸ… 12 rescues)     β”‚
  β”‚  Sheltered by: Happy Paws Shelter         β”‚
  β”‚                                          β”‚
  β”‚  [πŸ’Œ Apply to Adopt]                     β”‚
  β”‚  [πŸ”” Follow This Animal]                 β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

8.3 The Adoption Application

When the adopter clicks "Apply to Adopt":

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Adoption Application: White Cat          β”‚
  β”‚                                          β”‚
  β”‚  ─── ABOUT YOU ───                       β”‚
  β”‚  Name: [________]  Phone: [________]     β”‚
  β”‚                                          β”‚
  β”‚  Housing type:                           β”‚
  β”‚  β—‹ Own house  β—‹ Rented apartment         β”‚
  β”‚  β—‹ Own apartment  β—‹ Other               β”‚
  β”‚                                          β”‚
  β”‚  Do you have a fenced yard/balcony?       β”‚
  β”‚  β—‹ Yes, secured  β—‹ Yes, not secured     β”‚
  β”‚  β—‹ No                                    β”‚
  β”‚                                          β”‚
  β”‚  Household members:                      β”‚
  β”‚  β–‘ Adults only  β–‘ Children under 12      β”‚
  β”‚  β–‘ Children 12+  β–‘ Elderly               β”‚
  β”‚                                          β”‚
  β”‚  ─── PET EXPERIENCE ───                  β”‚
  β”‚  Have you owned pets before?              β”‚
  β”‚  β—‹ Yes, currently have pets              β”‚
  β”‚  β—‹ Yes, had before but not now           β”‚
  β”‚  β—‹ No, first time                         β”‚
  β”‚                                          β”‚
  β”‚  If currently have pets, please describe: β”‚
  β”‚  [___________________________________]    β”‚
  β”‚                                          β”‚
  β”‚  ─── YOUR MOTIVATION ───                 β”‚
  β”‚  Why do you want to adopt White Cat?      β”‚
  β”‚  [___________________________________]    β”‚
  β”‚                                          β”‚
  β”‚  ─── HOME ENVIRONMENT ───                β”‚
  β”‚  Upload photos of your home (optional):   β”‚
  β”‚  [Upload Photos (1-3)]                   β”‚
  β”‚                                          β”‚
  β”‚  ⚠️ Adoption is a 15+ year commitment.    β”‚
  β”‚  Please consider carefully before         β”‚
  β”‚  applying.                                β”‚
  β”‚                                          β”‚
  β”‚  [Submit Application]                    β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

8.4 The Shelter Review Process

The shelter (or managing volunteer) receives the application and follows a review workflow:

  Application received β†’ Review β†’ Interview/Chat (in-app messaging)
       β”‚
       β”œβ”€β”€ APPROVE β†’ Schedule transfer β†’ Adopter signs agreement
       β”‚                                     β”‚
       β”‚                                     β–Ό
       β”‚                              Case β†’ ADOPTED
       β”‚
       β”œβ”€β”€ PENDING β†’ Request more info from adopter
       β”‚
       └── REJECT β†’ Provide reason (with kindness)
                     Adopter can apply for other animals

9. Stage 6: Adopted β€” Mission Complete

9.1 The Adoption Handoff

When the shelter approves the adoption:

  1. Adoption agreement is signed (digital or physical)
  2. Animal transfer happens β€” the adopter picks up the animal
  3. The shelter marks the case ADOPTED

9.2 What Happens After Adoption

Immediately:

  • The reporter receives a notification: "The White Cat you reported on Garden Road has been adopted! 🏠"
  • The rescuer(s) receive: "White Cat has found a forever home. Thank you for your rescue!"
  • All followers of the case receive the adoption notification

The Adopter can:

  • Post a "First Day Home" photo β€” this is added to the timeline
  • Keep a "New Home Diary" (optional) β€” periodic updates visible to the shelter

The System triggers:

  • Auto-invitation to write a Rescue Story for the rescuer and/or adopter
  • Case archived as a completed rescue β€” full timeline preserved permanently

9.3 The Rescue Story (Post-Adoption Content)

  Case marked ADOPTED
       β”‚
       β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  SYSTEM INVITATION                        β”‚
  β”‚  "White Cat's rescue journey is complete! β”‚
  β”‚   Would you share her story?"             β”‚
  β”‚                                          β”‚
  β”‚  Sent to: Rescuer & Adopter               β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚
                 β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STORY EDITOR (structured + freeform)     β”‚
  β”‚                                          β”‚
  β”‚  Title: [_____________________________]   β”‚
  β”‚                                          β”‚
  β”‚  Before/After comparison:                 β”‚
  β”‚  [Before photo] β†’ [After photo]          β”‚
  β”‚  (auto-suggested from rescue timeline)    β”‚
  β”‚                                          β”‚
  β”‚  Story body (rich text):                  β”‚
  β”‚  [___________________________________]    β”‚
  β”‚                                          β”‚
  β”‚  Auto-embedded stats:                     β”‚
  β”‚  β€’ Rescue duration: 32 days               β”‚
  β”‚  β€’ 1 reporter + 2 volunteers helped       β”‚
  β”‚  β€’ Medical costs: Β₯680                    β”‚
  β”‚                                          β”‚
  β”‚  Tags: [ #InjuredRescue #WhiteCat        β”‚
  β”‚          #HappyEnding #Adopted ]         β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

These stories appear on the homepage Featured Stories carousel and feed the platform's emotional engine.


10. Endings: Alternative β€” Failed, Duplicate, Cancelled

Not every rescue ends in adoption. The system must handle non-happy endings with dignity.

10.1 Failed

The case can be marked FAILED by the rescuer at any point after claiming if:

  • The animal did not survive (found deceased, or passed during treatment)
  • The animal could not be found at the reported location
  • The animal escaped during rescue or recovery
  • Rescue was impossible (dangerous location, aggressive behavior beyond safe handling)

What happens:

  • The rescuer records the reason (factual, no blame language)
  • They can choose to show or hide detailed reason from public view
  • The case timeline freezes at the last active stage
  • A respectful status message is shown: "This rescue could not be completed. We're grateful to everyone who tried."
  • The rescuer receives an emotional support message with links to resources
  • Supportive comments are allowed; blaming comments are moderated

10.2 Duplicate

If multiple people report the same animal, a volunteer or admin can merge cases:

  • The newer case is marked DUPLICATE and links to the primary case
  • The duplicate reporter is notified: "Thank you for reporting! Someone else also spotted this animal β€” you can follow the rescue here [link]."

10.3 False Report / Cancelled

If a case is determined to be invalid (false information, animal is actually owned, etc.), an admin can mark it CANCELLED with a reason visible internally.


11. Supporting Systems

11.1 Rescue Knowledge Base

Purpose: Professionally curated educational content that lowers the barrier for everyone to participate.

Where it appears:

  • Post-report recommendation: After someone submits a report, show relevant guides ("What to do when you find an injured cat")
  • Volunteer toolkit: When a volunteer claims a case, show "Rescue checklist" and "First aid basics"
  • Adopter education: When someone applies to adopt, show "New pet at home: the first 7 days"
  • Standalone browsing: Searchable, categorized knowledge base accessible from homepage

Content categories:

β”œβ”€β”€ 🚨 Emergency Situations (what to do immediately)
β”œβ”€β”€ 🐱 Feline Rescue (kitten care, TNR, common illnesses)
β”œβ”€β”€ πŸ• Canine Rescue (safety, distemper/parvo, large dog handling)
β”œβ”€β”€ πŸ“‹ Rescue Process (checklists, legal info, organization contacts)
β”œβ”€β”€ 🏠 Adoption & Placement (screening, introduction to home)
└── πŸ’‘ Experience Sharing (veteran rescuer insights)

Quality control: All medical advice must be reviewed by a certified vet. Articles are labeled "Professional Medical Knowledge" vs "Community Experience."

11.2 Volunteer Network & Notification Engine

Matching algorithm (simplified):

  1. New case created β†’ get GPS coordinates
  2. Query volunteers where:
    • volunteer.status = ONLINE
    • distance(case_location, volunteer_location) <= volunteer.notification_radius
    • volunteer.animal_specialty IN (case.animal_type, 'ALL')
  3. Rank by: proximity + response history + experience level
  4. Send tiered push notifications (urgent cases get critical alerts)
  5. First-come-first-claim β€” first volunteer to click "Claim" gets the case

Escalation rules:

Case Urgency First Notification Escalation 1 Escalation 2
Normal 5km radius 15km at 24h City-wide at 48h
Urgent 10km radius City-wide at 2h Partner shelters at 6h

11.3 Profile & Achievements

Every user's profile aggregates all their contributions:

PROFILE: Alice
β”œβ”€β”€ πŸ“Š MY DATA
β”‚   β”œβ”€β”€ Cases I reported: 3 (2 successfully rescued)
β”‚   β”œβ”€β”€ Rescues I participated: 8
β”‚   β”œβ”€β”€ Animals I adopted: 1
β”‚   └── Stories I wrote: 2 (48 likes)
β”‚
β”œβ”€β”€ πŸ… ACHIEVEMENTS (lightweight badges)
β”‚   β”œβ”€β”€ πŸ”° "First Report"
β”‚   β”œβ”€β”€ πŸ”° "First Rescue"
β”‚   β”œβ”€β”€ ⭐ "Rescue Pro" (10+ rescue participations)
β”‚   β”œβ”€β”€ πŸ“ "Storyteller" (3+ rescue stories)
β”‚   └── πŸ’š "Community Hero" (received 5+ thank-you notes)
β”‚
β”œβ”€β”€ πŸ“ ACTIVITY FEED
β”‚   β”œβ”€β”€ Cases I'm following
β”‚   β”œβ”€β”€ My cases' status updates
β”‚   └── Bookmarked knowledge
β”‚
└── βš™οΈ SETTINGS
    β”œβ”€β”€ Notification preferences
    β”œβ”€β”€ Volunteer settings (Online / Away / Off, radius, animal types)
    └── Privacy (which data is public)

Achievements serve three purposes:

  1. Identity anchoring β€” "I've helped 8 animals" is a real identity
  2. New user onboarding β€” achievements guide users to try platform features
  3. Trust credential β€” adopters trust rescuers with the "Rescue Pro" badge

12. Value Flywheel & Roadmap

12.1 Platform Value Flywheel

        More reports β†’ More animals visible
              β”‚
              β–Ό
    More animals rescued (volunteer network)
              β”‚
              β–Ό
    More animals ready for adoption
              β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”
      β–Ό               β–Ό
  More adoptions   More rescue stories
      β”‚               β”‚
      β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
              β–Ό
    Emotional impact β†’ Word of mouth β†’ New users
              β”‚
              β–Ό
    More reporters + volunteers + adopters
              β”‚
              β–Ό
        (Back to start β€” flywheel spins)

12.2 MVP Scope (Phase 1)

Feature Priority Why
Guest browsing (homepage map + list) P0 Without visibility, no volunteers can help
Stray reporting wizard (6 steps) P0 Entry point β€” no reports, no platform
Case detail page + timeline P0 Rescue transparency = platform trust
7-stage status machine P0 The backbone β€” defines the entire workflow
Volunteer opt-in + capability profile P0 Must exist for claiming to work
Volunteer case claiming P0 Core collaboration action
Case status updates by rescuer P0 Progress must be shareable
Basic user registration/login P0 Need identity for reporting + claiming
Push notifications for volunteers P0 Without notifications, volunteers won't respond
Reporter tracking (My Reports) P1 Essential for reporter satisfaction
Follow a case P1 Drives return visits
Profile page (basic) P1 Shows user activity summary

12.3 Phase 2-4

Phase Timeline Focus
Phase 2: Activate Network Month 3-6 Knowledge base, volunteer achievements, wider notification logic, shelter onboarding
Phase 3: Emotional Engine Month 6-9 Rescue stories, adoption matching with applications, full achievement system
Phase 4: Ecosystem Month 9-12 Shelter admin dashboard, analytics, open API, regional resource directory

Appendix: Key Design Principles

  1. Mobile-first: Reporters and volunteers operate on phones, often outdoors. Every core flow must work on mobile first.

  2. Progressive tier access: Guest β†’ Registered β†’ Volunteer. No one is locked out of information; actions require appropriate permissions.

  3. Transparency builds trust: Every status change is timestamped and attributed. The full rescue timeline is public. This is what makes adopters trust the animal's history.

  4. Safety-first: Never expose exact GPS (show approximate area). Never expose phone numbers (in-app messaging only). Animal location is fuzzed after rescue completion.

  5. Emotional safety: Failed cases are treated with respect. No blame language is allowed in comments toward reporters or rescuers. Emotional support resources are available for rescuers.

  6. Information authenticity: Reports require photos. Volunteer verification is optional (lower barrier). Medical records are immutable.

  7. One user, many roles: A single account can report, rescue, and adopt. The system tracks actions per case, not persona per user.


Next step: Based on this product blueprint, proceed to UI/UX design phase β€” produce page designs and interaction prototypes for each stage of the animal lifecycle.