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:
ContentView
-> launching
-> signedOut
-> signedInThis is controlled by AuthStore.shared and rendered in ContentView.swift.
Shell Structure
The signed-in app shell is tab-based and currently includes:
HomeProjectsActivityYou
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:
LOGGA_API_BASE_URLenvironment variableAPI_BASE_URLfrom the app plist- 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