Sophon Docs
Clients & Apps

Mobile AppNEW

Sophon on iOS and Android — chat, voice, workflows, documents, approvals, push notifications, personalized home feed.

Sophon Mobile is a native iOS and Android app built with Expo React Native. It gives you the full platform in your pocket: chat streams, voice mode, workflow runs, document Q&A, approval queues, scheduled-job management, and a personalized home feed powered by Insights.

Installation

  • iOS — App Store: "Sophon" by Buildersoft. Requires iOS 16+. Bundle ID: com.buildersoft.sophon.
  • Android — Google Play: "Sophon" by Buildersoft. Requires Android 10+. Package: com.buildersoft.sophon.
  • Internal/beta builds — available via TestFlight (iOS) and Play Internal Testing (Android) with an invite from your Sophon admin.

First-run onboarding

On first launch:

  1. Welcome — brief intro.
  2. Server URL — paste your Gateway URL (e.g., https://gw.example.com). The app performs a health check; green checkmark means reachable.
  3. Appearance — pick dark / light / system.
  4. Login — email + password. If multi-tenant, pick a tenant.
  5. Notification permission — allow push. If declined, you can enable later in device settings.
  6. Ready — you're in.

The server URL is stored once; subsequent launches go straight to the tab bar.

The five tabs

The app uses a 5-tab bottom navigator:

Home

  • Hero card — greeting, date, streak, token budget
  • Daily thought — rotating curated quote
  • AI summary — narrative of the last week's activity
  • Insight cards — scrollable
  • Active tasks — live-updating
  • Recent sessions — quick-jump
  • On this day — LLM-generated historical reflection

Pull-to-refresh to recompute metrics now (bypasses the 30-min cache).

Chat

Session list with search. Tap a session → streaming chat view with:

  • Markdown rendering (bold, links, code blocks, tables)
  • Tool-call expansion (tap to see inputs/outputs)
  • Plan tracker (if the agent generated a plan)
  • Agent-activity bar (live status as the agent thinks)
  • Approval cards and info-request cards inline
  • File attachment picker
  • Voice overlay (tap mic to speak; animated orb indicates listening/thinking/speaking)

Voice

Full-screen voice experience:

  • Animated orb reflecting state (idle / listening / thinking / speaking)
  • Long-press to talk (push-to-talk) or tap for hands-free mode
  • Live interim transcripts render as you speak (server-side transcription)
  • Response plays through device audio with waveform feedback
  • Tap orb to interrupt

Voice Center — opened from this tab or More → Settings — is the hub for listening and speech settings (see Voice).

Workflows

List of your workflows with last-run status. Tap to see the workflow definition and execution history. Run workflows manually with Trigger Now.

More (Settings & navigation hub)

Menu of everything else:

  • Agents — list + detail view, SOUL.md preview, read-only Heartbeat info card (enabled, interval, active hours, session mode, autonomy flags — see Heartbeat)
  • Channels — which channels are connected
  • Skills — installed skills, per-agent toggles
  • Memory — browse shared memory entries
  • Approvals — pending approval queue
  • Cron Jobs — scheduled jobs + history
  • Account — profile settings
  • Appearance — themes, AMOLED, Material You, haptics
  • Voice Center — listening (STT) + speech (TTS) settings, per-user overrides
  • Models — LLM provider keys
  • Connections — OAuth + API-key services
  • Notifications — push categories + quiet hours

Design: Material 3

Version 1.11.0 rebuilds the app on Material 3: native ripple press feedback, edge-to-edge layout with transparent system bars, predictive back gesture, and large touch targets. Motion follows the same system — fade-through tab transitions and collapsing headers on chat, workflows, and documents.

Three complete themes live in More → Appearance:

ThemeModeNotes
DaylightLight
Indigo CoreDarkDefault
AMOLEDDarkPure-black variant of Indigo Core; toggle appears when dark mode is active

On Android 12+, a Material You toggle syncs accent colors with your device wallpaper. The palette is computed on-device — no wallpaper data leaves the phone — and status colors and brand moments stay fixed, so success/error states read the same on every theme.

Chat reliability

Streaming on mobile is built to survive real-world network and lifecycle churn:

  • Per-session stream buffers — each conversation keeps its own buffer, so running concurrent conversations (or returning from background) never drops messages.
  • Mid-stream reconciliation — joining or reconnecting to a session with an in-flight task replaces the partial stream with the full persisted message, so you never see a truncated reply.
  • Orphaned-stream cleanup — if a task ends while you're disconnected, the stale partial stream is removed instead of lingering in the conversation.
  • Pending-approval recovery — on reconnect, the app re-fetches pending approvals, so you can approve or reject requests that arrived while you were offline.

Push notifications

Mobile push is built on Expo's push service, which bridges to APNs (iOS) and FCM (Android). On first launch, the app registers the device with the Gateway and uploads an Expo push token.

Notification categories

CategoryFires whenActionable
newMessagesA new chat message arrivesTap to open session
approvalRequestsAgent needs approvalApprove / Reject buttons inline (iOS)
workflowAlertsWorkflow completes or failsTap to open run detail
heartbeatA heartbeat run took action — controlled by the New messages toggleTap deep-links to the session
systemUpdatesNew Sophon release, tenant admin noticesInformational

Toggle categories in More → Notifications. Heartbeat pushes don't have a separate switch — they're controlled by the New messages toggle.

Quiet hours

Set quiet hours (e.g., 22:00–07:00 in your timezone). During quiet hours:

  • Critical approvals: auto-rejected
  • High approvals: queued
  • newMessages / workflowAlerts / systemUpdates: suppressed until quiet hours end

Badge counts still increment — you'll see everything when you open the app the next morning.

iOS actionable notifications

iOS approval pushes have Approve / Reject buttons directly on the lock screen or Notification Center. Tap to respond without opening the app. Android action buttons are supported where the device supports them.

Voice

See Voice for the full story. On mobile:

  • STT — mic audio streams to the server in real time; live interim transcripts appear in the conversation as you speak and finalize on a natural pause (hands-free) or on send (push-to-talk)
  • TTS — Gateway-side, streamed sentence by sentence
  • Voice Center — the settings hub for listening + speech, reachable from the Voice tab and More → Settings; per-user overrides (STT provider, interim results, endpointing, max utterance) live here

Mic permission is requested on first voice use. If denied, re-enable in device settings.

The app registers the sophon:// URI scheme. Deep links open specific screens:

URIOpens
sophon://chat/<session-id>A chat session
sophon://approvals/<id>An approval detail
sophon://workflows/<id>Workflow detail
sophon://documents/<id>Document detail
sophon://connect?onboarding=<ticket>Remote-access onboarding

Notifications use deep links to open their relevant screen.

Offline behavior

The app caches session list and recent messages. If the network drops mid-chat, you see a Reconnecting… banner; queued messages send when the connection recovers. Sessions opened while offline show the cached view until reconnect.

Push notifications still arrive offline (Apple/Google deliver them independently of the app).

Biometric auth

Optional. Enable in More → Account → Biometric unlock. Uses Face ID / Touch ID on iOS; fingerprint / face on Android.

When enabled, the app requires biometric confirmation to:

  • Launch (if set)
  • Approve high-risk actions from push
  • View memory / settings

Multi-account

More → Account → Switch account — add a second Gateway (e.g., home + work). Each account stores its own tokens and notification preferences. Switch between them without re-signing in.

Haptics

Subtle haptic feedback on:

  • Message send
  • Approval approve / reject
  • Voice orb state changes
  • Pull-to-refresh complete

Disable in More → Appearance → Haptics.

Limits and gotchas

  • Expo Go doesn't support push. Push notifications require a production or development build (not the generic Expo Go app).
  • Background fetch is limited — iOS especially is strict about background task scheduling. Don't rely on the app running in the background to process long jobs; let the Gateway do that and deliver pushes.
  • Voice needs mic permission — transcription happens server-side, so voice works in any build, but the device must grant microphone access.
  • First-login requires internet — the app needs to reach the Gateway for auth. No fully offline mode.

Privacy

  • Chat messages, voice transcripts, and attachments all travel directly to your Gateway. No third-party analytics track conversation content.
  • Push tokens are stored on the Gateway alongside user preferences. Revoking a device (More → Notifications → Revoke) removes the token.
  • Biometric auth happens on-device — Face ID / Touch ID templates never leave the phone.

Where to go next

  • Dashboard — same platform on the web
  • Desktop App — native macOS / Windows / Linux
  • Voice — listening + speech setup, Voice Center reference
  • Heartbeat — the proactive runs behind the heartbeat push category
  • Approval Gates — how mobile push fits in