Skip to content

Build pause mode and user controls #420

@BillChirico

Description

@BillChirico

⏸️ Build Pause Mode and User Controls

Overview

Give users immediate, guilt-free control to pause Sobers Buddy when they need space.


Goals

  • One-tap pause — no questions asked
  • Clear indication when paused
  • Easy resume
  • Respect user's need for space
  • No "are you sure?" friction

Pause Functionality

Pause Options

Duration Use Case
24 hours Bad day, need breather
3 days Short trip, different routine
1 week Vacation, mental health break
Until I resume Indefinite, user-controlled

Quick Pause (One-tap)

  • Button in conversation: "Give me space"
  • Immediately stops all messages
  • Sets default 24-hour pause
  • Can extend or resume early

Scheduled Pause

  • Settings: "Pause until..."
  • Calendar picker
  • Recurring option (e.g., every Sunday)

UI/UX

Pause Indicator

  • Banner at top of conversation: "Sobers Buddy is paused until [time]"
  • Button: "Resume now" or "Extend pause"
  • Soft color (not alarming)

Pause Settings


Technical Implementation

interface PauseState {
  isPaused: boolean;
  pausedAt: Date;
  resumesAt?: Date;  // null = indefinite
  reason?: string;   // optional, for analytics
}

interface PauseSettings {
  quickPauseDefault: '24h' | '3d' | '1w' | 'indefinite';
  scheduledPauses: ScheduledPause[];
}

interface ScheduledPause {
  id: string;
  daysOfWeek: number[];  // 0-6
  startTime: string;     // "22:00"
  endTime: string;       // "08:00"
  enabled: boolean;
}

Implementation Tasks

  • Design pause state data model
  • Build pause/resume logic
  • Create pause indicator UI
  • Add quick pause button
  • Build custom duration picker
  • Implement scheduled pause
  • Add pause to settings
  • Create pause analytics events
  • Test pause edge cases

Acceptance Criteria

  • One-tap pause stops messages immediately
  • Pause indicator visible in conversation
  • Resume button works instantly
  • Scheduled pauses trigger automatically
  • No messages sent during pause
  • Pattern learning pauses during pause
  • User can extend pause without resuming
  • Pause history available (optional)

Edge Cases

  • Pause during active conversation → graceful stop
  • App update while paused → preserve state
  • Time zone change → adjust scheduled pauses
  • Device change → sync pause state
  • Push notification in flight → suppress if paused

Analytics

  • Pause frequency (not user-identified)
  • Average pause duration
  • Resume rate (vs. indefinite)
  • Scheduled vs. manual pause usage

Related


Part of Sobers v2

Metadata

Metadata

Assignees

Labels

frontendFrontend/UI related changessobers-buddySobers Buddy AI companion featureuxUser experience and design

Type

No type

Projects

Status

Todo

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions