Relationship Goals — define & track intentional relationship growth #80

Closed
opened 2026-06-09 01:55:45 +00:00 by Mark · 1 comment
Owner

Summary

Add relationship goals to Kin — define where you want a relationship to go and track concrete steps toward getting there. Not manipulation, but acting with purpose: steering relationships intentionally rather than letting them drift.

Each person can have one or more goals. Each goal has a target cadence/milestone, optional steps/actions, and visual progress tracking. Goals surface on the dashboard and in person detail views.


P1: Goal model & data layer

Add the data model and store layer for relationship goals.

  • Add RelationshipGoal type to src/lib/types.ts
    • id, personId, title, description
    • goalType: "frequency" | "depth" | "activity" | "milestone" | "reconnect" | "custom"
    • targetCadence: optional { interval: number; unit: "day" | "week" | "month" | "quarter" | "year" }
    • targetDate: optional ISO date for milestone/deadline goals
    • status: "active" | "paused" | "completed" | "archived"
    • priority: 1 | 2 | 3
    • steps: array of { id, title, done: boolean, doneAt?: string }
    • createdAt, updatedAt, completedAt?
  • Add goals array to Zustand store with CRUD actions: addGoal, updateGoal, deleteGoal, toggleStep, completeGoal
  • Add Dexie table for goals with personId index for efficient per-person queries
  • Add seed data with sample goals for existing demo people
  • Wire goals into IndexedDB persistence (load on app init, save on mutation)

P2: Per-person goal management UI

Add goal CRUD to the PersonDetail page.

  • Add "Goals" collapsible section in PersonDetail below interactions
  • Goal list view per person: show active goals with progress bars
  • Add Goal form/dialog: title, type, cadence/target, priority, notes
  • Add step management: create/edit/complete steps within a goal
  • Goal status toggle: pause / complete / archive
  • Empty state: "No goals yet — set your first relationship goal"

P3: Goals dashboard & overview

Show goals aggregated across all relationships.

  • Add "Goals" section to the dashboard/home page
  • Active goals summary card: X goals across Y people
  • Goals at risk: overdue cadence goals (missed target interval)
  • Recently completed goals section
  • Click-through to person's goal detail from dashboard

P4: Smart suggestions & cadence enforcement

Surface goal-driven nudges in existing Kin surfaces.

  • Dashboard "Priority Today" should include goal-driven actions
  • When logging an interaction, show goal progress indicator
  • Goal reminders when a cadence goal is near-overdue

P5: Goal templates library

Pre-built templates to reduce friction of starting.

  • Template definitions per goal type
  • "Reconnect", "Frequency", "Depth", "Activity", "Milestone" templates
  • Template picker in goal creation dialog
## Summary Add relationship goals to Kin — define where you want a relationship to go and track concrete steps toward getting there. Not manipulation, but acting with purpose: steering relationships intentionally rather than letting them drift. Each person can have one or more goals. Each goal has a target cadence/milestone, optional steps/actions, and visual progress tracking. Goals surface on the dashboard and in person detail views. --- ### P1: Goal model & data layer Add the data model and store layer for relationship goals. - [ ] Add `RelationshipGoal` type to `src/lib/types.ts` - `id`, `personId`, `title`, `description` - `goalType`: `"frequency" | "depth" | "activity" | "milestone" | "reconnect" | "custom"` - `targetCadence`: optional `{ interval: number; unit: "day" | "week" | "month" | "quarter" | "year" }` - `targetDate`: optional ISO date for milestone/deadline goals - `status`: `"active" | "paused" | "completed" | "archived"` - `priority`: `1 | 2 | 3` - `steps`: array of `{ id, title, done: boolean, doneAt?: string }` - `createdAt`, `updatedAt`, `completedAt?` - [ ] Add `goals` array to Zustand store with CRUD actions: `addGoal`, `updateGoal`, `deleteGoal`, `toggleStep`, `completeGoal` - [ ] Add Dexie table for goals with personId index for efficient per-person queries - [ ] Add seed data with sample goals for existing demo people - [ ] Wire goals into IndexedDB persistence (load on app init, save on mutation) ### P2: Per-person goal management UI Add goal CRUD to the PersonDetail page. - [ ] Add "Goals" collapsible section in PersonDetail below interactions - [ ] Goal list view per person: show active goals with progress bars - [ ] Add Goal form/dialog: title, type, cadence/target, priority, notes - [ ] Add step management: create/edit/complete steps within a goal - [ ] Goal status toggle: pause / complete / archive - [ ] Empty state: "No goals yet — set your first relationship goal" ### P3: Goals dashboard & overview Show goals aggregated across all relationships. - [ ] Add "Goals" section to the dashboard/home page - [ ] Active goals summary card: X goals across Y people - [ ] Goals at risk: overdue cadence goals (missed target interval) - [ ] Recently completed goals section - [ ] Click-through to person's goal detail from dashboard ### P4: Smart suggestions & cadence enforcement Surface goal-driven nudges in existing Kin surfaces. - [ ] Dashboard "Priority Today" should include goal-driven actions - [ ] When logging an interaction, show goal progress indicator - [ ] Goal reminders when a cadence goal is near-overdue ### P5: Goal templates library Pre-built templates to reduce friction of starting. - [ ] Template definitions per goal type - [ ] "Reconnect", "Frequency", "Depth", "Activity", "Milestone" templates - [ ] Template picker in goal creation dialog
Author
Owner

This issue has been decomposed into the following sub-issues:

# Title Phase Scope
#99 Relationship Goals — define & track intentional relationship Add the data model and store layer for relationship goals. - [ ] Add `Relations
#100 Relationship Goals — define & track intentional relationship Add goal CRUD to the PersonDetail page. - [ ] Add "Goals" collapsible section i
#101 Relationship Goals — define & track intentional relationship Show goals aggregated across all relationships. - [ ] Add "Goals" section to th
#102 Relationship Goals — define & track intentional relationship Surface goal-driven nudges in existing Kin surfaces. - [ ] Dashboard "Priority
#103 Relationship Goals — define & track intentional relationship Pre-built templates to reduce friction of starting. - [ ] Template definitions

Each sub-issue has been labeled with needs-triage and will be evaluated by the triage pipeline before queue routing.

This issue has been decomposed into the following sub-issues: | # | Title | Phase Scope | |---|-------|-------------| | #99 | Relationship Goals — define & track intentional relationship | Add the data model and store layer for relationship goals. - [ ] Add `Relations | | #100 | Relationship Goals — define & track intentional relationship | Add goal CRUD to the PersonDetail page. - [ ] Add "Goals" collapsible section i | | #101 | Relationship Goals — define & track intentional relationship | Show goals aggregated across all relationships. - [ ] Add "Goals" section to th | | #102 | Relationship Goals — define & track intentional relationship | Surface goal-driven nudges in existing Kin surfaces. - [ ] Dashboard "Priority | | #103 | Relationship Goals — define & track intentional relationship | Pre-built templates to reduce friction of starting. - [ ] Template definitions | Each sub-issue has been labeled with `needs-triage` and will be evaluated by the triage pipeline before queue routing.
Mark closed this issue 2026-06-09 06:21:23 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/kimi_agent_kin_app_sync#80
No description provided.