Product Flows

iOS App

Native app purpose, structure, and integration points.

The iOS app is the native companion and control room for Logga. It is where operators experience alerts, browse recent activity, review project-scoped tracked users, and manage personal workspace context in a more focused environment than the dashboard.

Entry Flow

The current root flow is:

text
ContentView
  -> launching
  -> signedOut
  -> signedIn

This is controlled by AuthStore.shared and rendered in ContentView.swift.

Shell Structure

The signed-in app shell is tab-based and currently includes:

  • Home
  • Projects
  • Activity
  • You

The shell also handles deep-link style navigation from pending alert targets.

Core Responsibilities

The iOS app is responsible for:

  • bootstrapping auth and workspace data
  • registering device tokens for push
  • showing a native overview of sessions, notifications, and project activity
  • exposing project-scoped tracked-user activity with last access, top channels, top event types, and recent events
  • exposing reports from a mobile-friendly surface
  • maintaining a quieter, focused control-room experience

Important Implementation Files

File Role
ContentView.swift Root phase switch
AppShellView.swift Signed-in shell and tab navigation
AuthFlowView.swift Sign-in and auth-related UI
ProjectUsersView.swift Project users list and per-user activity detail
ReportsView.swift Scheduled report management
AlertStore.swift Local alert handling and navigation targets
Config.swift API base URL resolution

Configuration

The app resolves its API base URL in this order:

  1. LOGGA_API_BASE_URL environment variable
  2. API_BASE_URL from the app plist
  3. fallback to https://api.logga.sh

That makes it straightforward to aim the app at local or staging backend environments.

Report Experience

The native reports flow already supports:

  • listing report configs
  • creating reports
  • viewing recent results
  • manually triggering a report
  • deleting reports

This is important because reports are not just a dashboard concern in the current product direction.

Users Experience

The native users flow now starts from each project detail screen and is derived from the same backend contract as the web dashboard.

Current iOS users capabilities:

  • browse project-scoped tracked users
  • filter by activity window
  • search by stable id, name, email, and role
  • inspect first seen and last seen
  • review top channels and top event types
  • drill into recent tracked events for a specific user

The iOS surface intentionally keeps this as a push-navigation workflow instead of mirroring the dashboard's side sheet.

Product Positioning

The iOS app should not be treated as a thin clone of the dashboard. Its role is different:

  • faster signal consumption
  • better personal context
  • stronger notification integration
  • lighter navigation depth for common tasks