The Android app
The Android app is a full client for your instance — not just a notification receiver.
What it can do
Section titled “What it can do”| Area | Capability |
|---|---|
| Watches | Create, edit, enable, disable, delete, run now |
| AI | Draft a new watch from a description; revise an existing one field by field |
| Alerts | A feed of everything that fired across your watches, with mark-as-seen |
| Runs | Full run history and run detail, including the model’s reasoning |
| Insights | Accuracy dashboard, collection stats, trust registry |
| Settings | Notification preferences, theme, config status, read-only key status |
| Push | Native notifications with device-side tier and quiet-hour rules |
Connecting it
Section titled “Connecting it”-
Build and install the app. It is not published to a store — build it from the repository with the Android toolchain.
-
Point it at your instance. On first launch, enter your API’s base URL.
-
Sign in with the same account you use for the panel — email and password, or Google if you configured it.
-
Allow notifications when prompted, so push can reach you.
-
Add
pushto a watch’s channels and force a run to confirm delivery.
Push behaviour
Section titled “Push behaviour”Messages arrive as data, and the app renders the notification itself. That means your device-side preferences are honoured even when the app is closed:
- Which tiers to show — you can suppress “unconfirmed” alerts on the device while still receiving them in the feed.
- Quiet hours — alerts stay silent during a window you choose.
- Tapping a notification opens the relevant watch or run.
Requires FIREBASE_SERVICE_ACCOUNT_JSON on the server; see Push
notifications.
Offline and cold starts
Section titled “Offline and cold starts”- The app shows an offline banner rather than failing silently.
- If your API is hosted somewhere that suspends idle instances, the first request after a quiet period can take 30–60 seconds. The app warms the connection and extends its retries for exactly this case.
Sessions
Section titled “Sessions”Your session is stored in the device keychain, so reopening the app goes straight in. If the server rejects your token, the app returns you to sign-in rather than failing requests silently. Sign out from Settings.
Keys on mobile
Section titled “Keys on mobile”Settings shows a read-only view of pooled key status. Adding, removing and rotating keys stays on the web panel deliberately — a phone is a poor place to paste credentials.