Part IV · Chapters 19–26
Delivery
Requirements, data model, success metrics, risks, and the line that has to be true at launch.
Chapter 19. Functional Requirements
Account and safety
- FR-001: An adult visitor can create and verify an account.
- FR-002: A user can log in, log out, reset credentials, export data, and delete the account.
- FR-003: A user must confirm they are at least 18.
- FR-004: A user must answer required allergen, health-issue, and physical-limitation questions before planning.
- FR-005: The system blocks plan assembly when safety rules require individualized medical guidance.
Goals and planning
- FR-010: A user can select a predefined goal or enter a custom goal.
- FR-011: A user can assemble a one-week workout-plan draft from curated content.
- FR-012: A user can assemble a macro-based nutrition draft from curated meal templates and USDA-backed food data.
- FR-013: A user can edit drafts within content and safety constraints.
- FR-014: A user can activate workout and nutrition plans independently.
- FR-015: A user can plan up to four weeks ahead.
- FR-016: A user can view and compare plan versions.
- FR-017: Deterministic calculations update macros, grocery quantities, and adherence.
Logging and review
- FR-020: A user can log a workout as completed, modified, partially completed, or skipped.
- FR-021: A user can optionally record detailed workout performance.
- FR-022: A user can log meal-template and macro adherence.
- FR-023: The system displays workout and nutrition adherence separately.
- FR-024: Partial adherence receives partial credit.
- FR-025: A user receives a Pact Pulse after each active week.
- FR-026: A lane owner can request a Reset at any time.
Pact and Pactmate
- FR-030: A user can invite one Pactmate.
- FR-031: Pact creation offers only 1-week, 1-month, 2-month, and 3-month terms.
- FR-032: The system deterministically computes and enforces the pact start and end dates.
- FR-033: Each member can choose workouts, nutrition, or both for their own Pact Lane.
- FR-034: The invitee can join without a lane or make the pact mutual by creating a separate lane.
- FR-035: A member reviews the term, lane scopes, and sharing summary before activating a pact.
- FR-036: A Pactmate can see the other lane’s default shared plan and adherence information.
- FR-037: Pactmates can send only structured interactions, including Boosts and Pact Pulses.
- FR-038: A Pactmate can co-sign or decline a Reset for the other member’s lane.
- FR-039: Either member may pause their lane or end the pact without a co-sign.
Notifications
- FR-040: An eligible account can opt into SMS reminders using a verified number.
- FR-041: A recipient can configure reminders, quiet hours, and opt-out preferences.
- FR-042: SMS content does not reveal sensitive health or adherence information.
Chapter 20. Non-Functional Requirements
Performance
- Main authenticated pages should target an LCP of 2.5 seconds or less at the 75th percentile on supported mobile devices.
- Template-based plan assembly should feel immediate where possible and always show progress when processing is required.
- Partial failures must preserve user-entered information.
Responsive design
- Mobile web is a primary use case.
- Core flows work on current major desktop, tablet, and mobile browsers.
Accessibility
- Target WCAG 2.2 AA.
- Support keyboard navigation and assistive technologies.
- Do not rely on color alone to communicate completion or adherence.
- Use neutral, descriptive status language.
Security and privacy
- Encrypt data in transit and at rest where appropriate.
- Apply relationship-scoped role-based access controls.
- Log sharing, pact, co-sign, and permission changes.
- Prevent Pactmates from accessing unshared health and profile data.
- Make progress photos and private notes private by default.
- Support data export and account deletion.
- Do not use sensitive details in SMS messages.
Reliability and auditability
- Store content, USDA source, calculation, safety-rule, and plan versions.
- Store user and Pactmate co-sign events.
- Maintain logs of AI-assisted selections and proposed changes for safety review.
- A catalog update must not silently alter an already active plan.
Chapter 21. Data Model Overview
Account
- Account ID
- Verified mobile number
- Display name
- Adult confirmation
- Authentication state
- SMS consent and preferences
- Timezone and quiet hours
- Account status
- Created date
Fitness profile
- Account ID
- Goal and custom-goal text
- Experience and activity level
- Availability and equipment
- Workout preferences and exclusions
- Dietary preferences and exclusions
- Required safety answers
- Optional body metrics
Catalog content
- Content ID and type
- Structured content
- Compatibility and exclusion tags
- Source or author
- Review status
- Content version
Plan
- Plan ID
- User ID
- Plan type
- Weekly start and end dates
- Source template and content versions
- Plan version and status
- AI selection summary and assumptions
- User edits
- Created, submitted, co-signed, and activated dates
Scheduled commitment
- Commitment ID
- Plan ID
- Scheduled date
- Exercise, workout, meal, or macro target reference
- Completion state
- Optional detailed log
- Notes and sharing status
Adherence summary
- User ID and week
- Workout adherence components and score
- Nutrition adherence components and score
- Scoring-rule version
- Computed date
Pact
- Pact ID
- Initiating member ID
- Invited member ID
- Term enum: one_week, one_month, two_months, or three_months
- Start date and deterministic end date
- Status
- Pact Pulse cadence
- Created, accepted, started, paused, ended, and finished dates
Pact Lane
- Lane ID
- Pact ID
- Owner account ID
- Scope enum: workout, nutrition, or both
- Goal ID
- Active workout plan ID, when included
- Active nutrition plan ID, when included
- Sharing confirmation and permissions
- Lane status
Structured interaction
- Interaction ID
- Pact ID
- Interaction type
- Sender and recipient
- Template or reaction ID
- Related commitment or plan ID
- Response
- Created date
Reset co-sign
- Co-sign ID
- Pact ID
- Pact Lane ID
- Proposed plan ID
- Pactmate decision
- Structured reason
- Decision date
Chapter 22. Success Metrics
Primary MVP validation metric
Four-week recurring weekly usage: the percentage of activated users who complete at least one meaningful FitPact action in each of four consecutive weeks.
Meaningful actions include:
- Logging workout or nutrition adherence
- Completing a Pact Pulse
- Confirming or requesting a weekly plan
- Responding to a structured pact interaction
- Co-signing or declining a Reset as a Pactmate
The target percentage is TBD before launch. The metric must be segmented by users with and without an active Pactmate.
Supporting metrics
- Weekly active users
- Four-week recurring weekly users
- Plan activation rate
- Workout and nutrition plan adoption, separately
- Partial-adherence rate
- Weekly-review completion rate
- Pactmate invitation and acceptance rates
- Percentage of users with an active pact
- Pact term selection and Finish rate by term
- One-way versus mutual pact adoption and recurrence
- Pact Pulse response rate
- Reset request and co-sign rates
- Four-week recurrence difference with versus without an active Pactmate
Safety and quality metrics
- Safety block and caution rates
- Reported inappropriate-output rate
- Allergen-conflict rate, with a required target of zero known conflicts
- Unsupported catalog-item rate, with a required target of zero active-plan items
- Plan abandonment and pact termination rates
Chapter 23. MVP Release Criteria
The MVP is ready when:
- Adult eligibility and required safety intake work.
- Safety-blocking rules have been reviewed and tested.
- Users can independently assemble and activate workout and nutrition plans.
- Plans use only compatible, reviewed catalog content.
- Nutrition calculations use versioned USDA-backed food data where available.
- Macro targets and grocery lists recalculate correctly.
- Users can plan one active week and prepare up to four weeks.
- Users can select only 1-week, 1-month, 2-month, or 3-month pact terms.
- Pact start and end dates are deterministic and enforced.
- Pactmates can create one-way or mutual pacts with separate workout, nutrition, or combined Pact Lanes.
- Simple and optional detailed workout logging work on mobile web.
- Workout and nutrition adherence are calculated separately with partial credit.
- Users can invite one Pactmate and confirm default sharing.
- Pactmate access boundaries pass permission testing.
- Boosts, Pact Pulses, and Reset co-signing work.
- Users can pause plans and end pacts without a Pactmate co-sign.
- SMS consent, quiet hours, sensitive-content restrictions, and opt-out work.
- The four-week recurring weekly usage metric is instrumented.
- Account export and deletion work.
Chapter 24. Key Risks and Mitigations
Pactmate co-signing feels controlling
Mitigation: Co-signing applies only to activating a Reset during an active pact. Users can always pause, stop, revoke sharing, or end the pact. Product language frames a co-sign as shared recommitment.
Longer pacts feel endless after motivation drops
Mitigation: Every pact has a visible end date, weekly Pact Pulses, and explicit pause and end controls. The product never auto-renews or extends a pact.
Mutual pacts blur ownership
Mitigation: Give each member a separate Pact Lane, plan history, adherence score, privacy controls, and Reset workflow. Never combine goals or allow cross-editing.
Default sharing feels intrusive
Mitigation: Show a clear preview and explicit confirmation before pact activation. Keep health intake, body metrics, photos, and notes private unless separately shared.
Curated content is insufficiently personalized
Mitigation: Build catalog depth around goals, schedules, equipment, dietary preferences, cost, and preparation time. Support reviewed substitutions and track searches with no compatible result.
USDA data creates inconsistent calculations
Mitigation: Use normalized serving units, source identifiers, data versions, deterministic calculations, and reviewed mappings between meal templates and food records.
SMS becomes costly or intrusive
Mitigation: Use event-based, rate-limited messages; quiet hours; minimal sensitive content; and explicit consent. Track cost per four-week recurring user.
Users treat macro targets as medical prescriptions
Mitigation: Label values as estimates, show assumptions, avoid clinical claims, and block cases requiring individualized medical advice.
Partial-credit points encourage gaming
Mitigation: Keep workout and nutrition scores transparent and separate, prioritize reflection over rewards, and avoid competitive leaderboards.
Chapter 25. Open Decisions Before Engineering Sign-Off
- Define reviewed safety conditions for Needs caution and Blocked with qualified clinical and legal input.
- Choose the specific age-confirmation and regional eligibility implementation.
- Define configurable point weights for full, modified, partial, skipped, and unlogged commitments.
- Define the four-week recurring weekly usage target.
- Select the initial countries and SMS provider.
- Decide whether Pactmates receive only weekly summaries or can also view adherence in real time; this draft assumes real-time visibility.
- Define what happens when a Pactmate does not respond to a Reset co-sign request before the next week starts.
- Define the initial catalog size and content-review workflow.
- Define USDA FoodData Central ingestion, licensing/attribution, update, and normalization processes.
Chapter 26. One-Sentence MVP Definition
FitPact’s MVP is a free, adult-only responsive web app where two people make a fixed 1-week, 1-month, 2-month, or 3-month pact, choose separate workout, nutrition, or combined Pact Lanes, and help each other keep showing up through Boosts, Pact Pulses, and co-signed Resets.