Portal RFC 0.1 — Overview
Summary
- Mobile-first “source of truth” for field-heavy rescues: monitoring → custody → outcomes.
- Volunteer operations: routes, check-ins, tasks, clinic coordination, redacted external portals.
- All stray locations are Sensitive by default; coordination remains usable via Location aliases.
New readers: start with the glossary.
Context / Problem
We need an easy-to-use portal for a nonprofit rescue that acts as the source of truth for animals, supporting both:
- Monitoring strays without custody (feeding routes, sightings, map-based context, sensitive location handling)
- Temporary or full custody (medical, foster placements, adoption)
It must also handle multiple contact types (fosters, adopters, owners, reporters, feeders, vets, volunteers) and support custom applications + approvals, tasks, reporting, and one-way publishing to adoption listing registries (Petfinder, Adopt-a-Pet, etc.).
The rescue also operates “boots-on-the-ground” with a focus on feeding routes, spay/neuter, and partner networking (rescue/vet partners), so the system should support field coordination as a first-class workflow.
Target audiences (initial)
- Rover’s Return Dog Rescue (roversreturndogrescue.org)
- Feeding Perris Strays (feedingperrisstrays.org)
Both groups emphasize field operations (feeding, monitoring, trapping), coordination with clinics/partners, and volunteer-driven execution. The portal should be optimized for mobile use and low-friction data capture in the field.
Goals
- Track animals end-to-end with a complete timeline: sighting → custody → foster → adoption/transfer/RTF/etc.
- Store medical + identifiers (microchip) with attachments and a clear audit trail.
- Support many contacts per animal with roles and history (start/end dates).
- Provide configurable applications (adoption + foster) and a customizable approval workflow.
- Support an interim mode that embeds external forms (e.g., JotForm) while migrating to a native form builder.
- Provide an external portal for fosters/adopters to view a redacted animal record; fosters can add notes/uploads.
- Provide map-first tools for strays (pins, optional areas/polygons, photos).
- Support location alias names (volunteer-known place names) in addition to coordinates/photos.
- Provide a task system (custom tasks, assignments, due dates) and a “route for feeding strays” feature.
- Support volunteer management (skills, onboarding, assignments, scheduling for routes/transports/events).
- Support lost dog recovery / field trapping cases (feeding stations, trail cameras, humane traps, sightings, and owner coordination).
- Support community aid workflows (food/supplies/basic care) for low-income and unhoused owners.
- Support microchip scanning + lookup (identify the right registry) and keep registration current.
- Microchip lookup tool: AAHA Universal Pet Microchip Lookup Tool (used to identify the registry for a chip ID).
- Push “listing-ready” animals to adoption listing registries (one-way) with sync logs (Petfinder, Adopt-a-Pet, etc.).
Non-goals (for MVP)
- Multi-organization/chapter data separation
- Two-way sync from listing registries (Petfinder, Adopt-a-Pet, etc.)
- Fully offline mobile app (optimize for mobile web first; add offline later if needed)
- A general-purpose CRM replacement (support core contact management, but not full fundraising)
Users & Jobs-to-be-Done
- Coordinators / Case managers: run custody transitions, assign tasks, manage placements, finalize outcomes.
- Medical: update treatments, due items, and upload records/invoices.
- Foster coordinator: manage foster applications, placements, capacity, and follow-ups.
- Volunteers / feeders: run routes, add sightings, record check-ins, complete assigned tasks.
- Fosters (external): view approved animal info, add foster notes (behavior/medical observations), upload photos/docs.
- Adopters (external): view adopted animal record (redacted), receive documents.
- Auditors (internal read-only): review timelines, decisions, and audit logs.
Key Concepts
- Custody state: Monitoring (no custody) vs In custody vs Outcome.
- Sensitive case: restrict exact location and internal notes (default for monitoring strays).
- Animal timeline: everything is an Event (sighting, medical, placement, decision, outcome).
- Relationships: animals can have many contacts simultaneously (foster + feeder + reporter + vet).
MVP Scope (Phase 1)
- Animals (dogs + cats) + identifiers + photos/docs + timeline events
- Medical records (vaccines/meds/visits) + reminders
- Contacts with roles + animal↔contact relationships (many-to-many) + history
- Foster placements (start/end) + foster portal (redacted view + foster notes/uploads)
- Applications (adoption + foster) with a simple form builder + stage workflow + decisions log
- Tasks (custom task types, assignments, due dates, comments, attachments)
- Stray monitoring: sightings with GPS + photos, last-seen map, optional area/territory polygons
- Feeding routes: route stops with GPS + scheduled runs + check-ins
- Volunteer management (lightweight): volunteer profiles (as contacts), skills, onboarding status/waivers, assignment to tasks/routes
- Lost dog recovery cases (lightweight): request intake, tasks, sightings, equipment (trap/camera) tracking, outcomes
- Resource library (lightweight): shareable guides/PDFs for adopters/fosters/volunteers
- Reporting: per-animal export (timeline + identifiers + medical) + operational summaries
Additional program workflows (worth considering early)
- Spay/neuter appointment coordination: scheduling, confirmations, transport tasks, outcomes
- Partner network referrals/transfers: which rescue is taking which animal, status and handoff details
- Supply tracking (optional): food distribution, trap inventory, medication pickup/delivery
- Donation & in-kind support (optional): wish-list items received, sponsorships, receipts/acknowledgements
Phase 2+ (later)
- Listing registry one-way push + readiness checks + sync logs
- E-sign provider integration for foster/adoption contracts
- SMS/email provider integration for notifications
- Advanced workflow builder (conditional stages, branching)
- Heatmaps (if sighting volume makes it worthwhile)
Open Questions (resolve early)
- What constitutes “Sensitive” by default: all Monitoring animals, or a per-animal flag?
- What roles get external portal access beyond fosters/adopters (e.g., feeders)?
- What minimum fields/photos are required for: (a) stray record, (b) listing readiness (Petfinder/Adopt-a-Pet/etc.)?
- Should location aliases be global (org-wide) or route-specific (different teams use different names)?
- Do we need volunteer scheduling (shifts) for events/transports in MVP, or start with tasks only?
- Which documents must be templated first (foster contract, adoption contract, medical release, etc.)?
- Data import: what spreadsheet columns exist and what is “good enough” for matching/deduping?
Success Metrics (initial)
- Time to create a new stray monitoring record: under 2 minutes (mobile).
- Time to process an application to decision: reduced vs current baseline.
- Per-animal export completeness: 95%+ (identifiers + medical + timeline present).
- Fewer lost handoffs: tasks and placements capture “what’s next” clearly.
Change Log
- v0.1 (2026-02-08): Initial draft based on team inputs and constraints