# PetCare — Product Specification (Interview Reference)

Use this to answer candidate questions. Let them ask — don't pre-read the spec aloud. How many questions they ask is a signal.

---

## 1. Overview

**Concept:** Multi-pet care scheduler for households. Track feeding schedules, medication timers, vet appointments, walks/play, grooming. Health monitoring with trend charts. AI symptom triage.

**Users:** Multi-pet household (1–5 pets). Primary user manages all pets; other family members and pet sitters get filtered views.

**Platform:** Responsive web app. Mobile-first (care happens on the go, in the kitchen, walking the dog). Sitter access via shareable link (no account required).

---

## 2. Personas

### Primary: Household Care Manager
- 30–45, has 2+ pets of different species (dog + cat, or multiple dogs with different needs)
- Manages daily care: feeding, meds, walks. Coordinates vet visits.
- Pain: overlapping schedules (Cooper's walk at 9am, Luna's insulin at 11:30) easily missed
- Wants: a single dashboard for all pets, clear overdue alerts, handoff to pet sitter without training

### Secondary: Family Member / Co-caregiver
- Spouse, older teen, roommate. Has edit access but less overall responsibility.
- Uses app occasionally. Needs clear "what's next" view without digging through settings.
- Wants: simple mark-as-done, no confusion about which pet gets what

### Tertiary: Pet Sitter
- Temporary access (weekend trip, vacation). Receives a share link with read-only schedule and mark-done capability.
- No account. No access to health records or settings. Access expires.
- Wants: clean task list per time slot, all instructions for each pet in one place

---

## 3. Core Features (v1)

### 3.1 Pet Profiles

- Each pet: name, species (dog/cat/rabbit/other), breed, birth date (or estimated), weight history, photo, microchip ID
- Medical: allergies, chronic conditions, vet name + phone, insurance policy
- Default care rules: feeding schedule template, medication cadence (recurring or one-time), walking routine, grooming interval
- Profile has color-coded avatar (shown across all views)

### 3.2 Timeline / Schedule

- Default view: today, all pets, chronological. Filter by pet, by day, by task type.
- Each task: time (or relative — "after breakfast" for insulin), pet, task type, description, recurrence rule, status (pending/done/skipped/overdue)
- Recurrence patterns:
  - Every N hours (insulin every 12h)
  - Daily at time (breakfast 7am, dinner 7pm)
  - Weekly on specific days (heartworm pill every Monday)
  - Monthly on date (flea treatment 1st of month)
  - N times per day (walk 2× daily, morning + afternoon)
  - Exception dates (vet says skip insulin on fasting blood test day)
- Overdue detection: task passes its scheduled time without being marked done → overdue. Visual escalation: yellow at 30min, red at 2h.
- Snooze: task deferred by 15/30/60 min with notification to same device + household. Max 2 snoozes per task.

### 3.3 Multi-pet Operations

- Bulk feeding: all pets at same time (7am breakfast for Cooper + Milo) shown as grouped entry
- Per-pet meal: each has different food type, quantity, supplements
- Medication tracking: count remaining doses, auto-calculate refill date, reorder reminder
- Shared supplies: one pet's medication belongs to household, not individual — "we need more insulin" (shared) vs "Cooper's joint supplement" (per-pet)

### 3.4 Health Records

- Vet visit log: date, reason, diagnosis, treatment, follow-up date, cost
- Vaccination tracker: vaccine name, due date, next due, status (up-to-date / overdue / not-applicable)
- Weight tracking: manual entry or sync from smart collar. Chart over time (1m/3m/6m/1y).
- Medication history: each dose logged with timestamp and who administered
- Grooming log: nail trim date, bath date, professional groomer visits

### 3.5 Pet Sitter Mode

- Share link: generates URL with embedded token, optional PIN. No account required.
- Access scope: view today's schedule, mark tasks done, see per-pet emergency instructions
- Restricted: no health records, no settings, no chat history, no add/delete tasks
- Expiry: time-limited (date range or "+7 days"). Auto-revoke.
- Activity log: sitter actions recorded, visible to primary user

### 3.6 AI Care Advisor

- Chat interface, topic-scoped: pet health, nutrition, behavior, scheduling
- System prompt includes: all pet profiles, current medications, recent symptoms/events, upcoming vet visits
- Capabilities:
  - Symptom triage: user describes concern → AI asks clarifying questions → suggests urgency level (routine / watch / vet soon / emergency)
  - Exercise plan suggestion: given health conditions, breed, age → suggest routine
  - Medication interaction check: compare all pets' active medications
  - Nutrition advice: given weight trend → adjust portions
  - Care schedule optimization: "Cooper's walks are too close together — suggest alternative that fits everyone"
- Hard fail: refuses to diagnose serious conditions without vet. Fallback: "I can't replace a vet — here's when to see one."

### 3.7 AI Feature — Health Scanner

- User takes photo of pet (skin issue / eye / ear / wound)
- System returns preliminary assessment: detected condition candidates with confidence, urgency level, care steps, vet referral threshold
- Privacy: photo stored per pet's health record (opt-in). Not used for training without explicit consent.
- Fallback: poor quality photo → "Please take in good lighting, get closer, avoid shadows." No match → "I can't identify this — safety first, consult your vet."

---

## 4. Data Model (Core Entities)

```
Household
  id, name, created_at, timezone, pets_count

Pet
  id, household_id, name, species, breed, birth_date, weight_kg,
  microchip_id, photo_url, color_hex (avatar),
  allergies[], chronic_conditions[], vet_name, vet_phone,
  insurance_provider, insurance_policy_number,
  care_notes (free-text), created_at, updated_at

CareTask
  id, pet_id, task_type (feeding/medication/walk/grooming/water_change/vet),
  title, description, time_of_day (time or relative_to_meal),
  recurrence_rule (rrule string, e.g. "FREQ=DAILY;BYHOUR=7,19"),
  dosing_unit, dosing_quantity, supply_remaining (for medications),
  supply_refill_threshold, auto_refill,
  status (active/paused/archived), created_at

TaskInstance
  id, care_task_id, pet_id, scheduled_datetime, status (pending/done/skipped/overdue/snoozed),
  completed_at, completed_by (user_id or "sitter:<token>"),
  snooze_count, notes

HealthRecord
  id, pet_id, record_type (vet_visit/vaccination/weight/grooming/photo),
  date, notes, attachments[], cost?,
  follow_up_date?, next_due_date?
  (for vaccinations: vaccine_name, administered_by, lot_number)

SitterSession
  id, household_id, token, pin?, expires_at, created_by,
  last_accessed_at, revoked_at?

ChatMessage
  id, household_id, pet_ids[], role (user/assistant), content,
  suggested_task_ids[], created_at

Inventory
  id, household_id, item_name, item_type (food/medication/supply),
  quantity, unit, pet_id?, refill_threshold, auto_refill_enabled,
  last_purchased_at
```

---

## 5. Non-Functional / Constraints

### 5.1 Timeliness
- Task notifications: push to primary user's device at scheduled time. Retry at 5min if not marked done.
- Overdue detection: real-time check on minute tick. No polling — use server-sent events or WebSocket push.
- Snoozed tasks: re-notify at snooze expiry.

### 5.2 Offline
- Task list must load and allow mark-done offline. Sync when online.
- Schedule editing (add/modify recurrence) requires network.
- Health records: read-only cached. New entries queued offline.

### 5.3 Real-time Sync
- Multi-user mark-done: if sitter marks "Cooper evening walk" done, primary user sees it within 3s.
- Conflicts: two users mark same task done last-write-wins with notification.

### 5.4 Scale
- 5,000 households year 1. 50,000 year 2.
- Per household: avg 2.5 pets, 10 active care tasks per pet, 25 task instances per day.
- AI feature: photo health scan is most expensive operation. Budget: max 5 scans/day per household.

### 5.5 Security
- Pet sitter links: one-time use per session. Token in URL (not in query param — use hash fragment or POST).
- No persistence of sitter sessions beyond expiry.
- Health record photos: stored with server-side encryption. User-controlled deletion.

---

## 6. Open Ambiguities (Deliberate for Interview)

- **Recurrence engine:** How complex is the recurrence system? One library handles all? Custom rules for "every other day skipping weekends"? Where does the complexity live — DB query, app layer, cron?
- **Sitter link generation:** What's in the token? JWT? Random string? How is expiry enforced — DB check or token decode?
- **Smart device integration:** Smart collar for temperature / activity? Not in v1 but visible in mockup health panel. Candidate may ask about data source.
- **Multi-species normalization:** Dog feeding schedule vs cat vs rabbit all differ. How does the system represent species-agnostic care rules?
- **Notification channel:** In-app only? Push? SMS for sitters? Not specified.
- **Photo storage policy:** Health scan photos — user expectation of privacy is higher than meal photos. GDPR/CCPA implications? Not specified.
- **Conflicting schedules:** Two tasks scheduled same time for different pets — how are they displayed, prioritized, notified? Not specified.
- **Vet integration:** Direct booking API? Vet sends digital records? Not in v1.
- **Task completion accountability:"** Family member and sitter both mark done — who was it? Not specified (activity log exists but unclear searchability).

---

## 7. Interview Guidance

| Candidate behavior | Signal |
|---|---|
| Asks about recurrence complexity before designing | Strong — they know scheduling is harder than it looks |
| Brings up pet species differences unprompted | Strong — domain-aware design |
| Questions sitter access security model | Strong — security-minded |
| Notices smart collar data in mockup and asks about sensor integration | Positive — observant, thinks about data sources |
| Asks about notification fatigue (3 pets × 8 tasks/day) | Strong — considers UX overload |
| Wants to know about multi-pet vs single-pet task grouping | Strong — thinks about information architecture |
| Raises vet liability around AI health scanner | Strong — understands risk + regulation boundaries |
| Never asks how sitter link is secured | Weak — misses OWASP top-of-mind concern |
| Assumes all pets have same schedule pattern | Weak — over-generalizing |
