Skip to content

epic: Sleepypod Mini — iOS device switcher + Mini screens #40

@ng

Description

@ng

Vision

Add Mini (Snoo bassinet) support to the iOS app via a device switcher in the gear menu. Pod UI stays untouched. Mini gets purpose-built screens (~3-4 new views vs pod's ~30).

Device Switcher

  • Gear menu at top → Pod | Mini toggle
  • Each device type has its own tab set and view hierarchy
  • SleepypodProtocol abstraction already exists — add MiniClient conforming to a new MiniProtocol
  • Discover available servers on network (pod server advertises which device types are enabled)

Mini Tab Structure

  • Control — current state, motion level dial (1-4), on/off, lock toggle
  • Sleep Log — session history, duration charts, soothe event timeline
  • Settings — sound type, volume, weaning mode, device info

Baby Biometrics

  • Sleep duration trends (daily/weekly bar charts, reuse WeeklyBarChartView)
  • Cry frequency from soothe escalation data
  • Soothe responsiveness patterns
  • These could be a tab or integrated into Sleep Log

Architecture

  • MiniClient — talks to sleepypod-core Mini tRPC routes
  • MiniDeviceManager — manages connection, state, polling
  • Mini views in Views/Mini/ directory
  • Shared infrastructure: Theme, networking, settings, notifications

Naming

  • Device type in UI: "Mini"
  • Code: Mini prefix (MiniClient, MiniScreen, etc.)
  • No Snoo trademark usage anywhere in UI or marketing

Depends on

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions