Developer portfolio
Somnora project icon

iPhone, Apple Watch, and private cloud

Somnora

Agentic Wellness Companion App Store

A companion for nights and the days they shape. Nora brings dreams, mood, sleep, and reflection into one private conversation, then chooses restraint when there is not enough evidence to be useful.

Client
Native SwiftUI for iPhone and Apple Watch
Context
Dreams, mood, journals, and read-only HealthKit signals
Cloud
Private Cloud Run gateway with provider failover
Memory
Salience, synthesis, retrieval, and duplicate control

What it does

Somnora is built around Nora, a conversational companion that can reflect on a dream, help unpack a mood, notice longer-term patterns, or give a half-formed idea somewhere to go. Health signals are supporting context rather than a diagnosis, and the product is designed to stay quiet when the evidence does not justify an interruption.

The app spans an iPhone client, an Apple Watch capture path, local context and permission services, and a private gateway for model calls. Creative flows keep the conversation primary. Any reminder or follow-on action is offered only after Nora responds, through a separate consent step.

Product principles

01

A companion, not a dashboard

Dreams, mood, and sleep are interpreted in a human conversation instead of reduced to scores and streaks.

02

Permissioned context

HealthKit access is read-only, and each source has an explicit reason to exist in the response.

03

Memory with editorial judgment

Formation, synthesis, decay, reinforcement, and retrieval decide what deserves to persist.

04

Consent before action

Nora answers first. Reminders and other actions arrive afterward as optional, inspectable invitations.

How the system moves

Signals stay separated from decisions until the context layer can establish provenance, relevance, and permission. The private gateway isolates model providers from the app, while Nora's response and any optional action remain two distinct product moments.

Context to response

  1. 01 · Signals

    Dreams, mood, sleep, voice

    User entries, read-only HealthKit data, and Watch recordings begin as separate sources.

  2. 02 · Permissions

    Source and consent boundary

    Managers expose only authorized context and preserve where each observation came from.

  3. 03 · Context

    Timeline and retrieval

    Relevant observations and high-value memories are selected under a bounded context budget.

  4. 04 · Gateway

    Private Cloud Run proxy

    The client reaches hosted inference through a controlled gateway with caching and failover.

  5. 05 · Nora

    Conversation and creative flows

    Nora responds in context, including Dream, Eureka, Insights, and Mindful experiences.

  6. 06 · Outcome

    Response, then invitation

    The answer lands first. Any reminder or action is offered separately and requires consent.

Boundary to keep: Health signals inform reflection but do not become diagnoses, and an inferred need never becomes an automatic action.

More systems