Skip to main content

Mobile App

Monitor and control your AI agents from your phone. Available for iOS and Android.

Download and Setup

  • iOS:App Store, search "Styrby". Requires iOS 17+.
  • Android:Google Play Store, search "Styrby". Requires Android 14+.

Sign in with the same GitHub account you used on the web dashboard.

Pairing with Your Machine

After signing in, tap "Add Machine" and scan the QR code displayed by styrby onboard or styrby pair in your terminal. The QR code encodes a signed pairing token with an expiration time. The app generates its own TweetNaCl keypair for decrypting session data on the phone.

Push Notifications

What triggers a notification

  • Permission request: An agent needs approval for a tool call.
  • Session error: An agent session crashed or hit an unrecoverable error.
  • Budget alert: A spending threshold was reached.
  • Machine disconnected: A paired machine went offline.

Push tokens are registered with APNs (iOS) and FCM (Android). Token registration happens automatically on sign-in.

Configuration

Fine-tune notifications in the app under Settings > Notifications. Toggle each event type on or off. You can also configure these from the web dashboard.

Quiet Hours

Suppress non-critical notifications during set hours. Permission requests are still delivered (they block agent progress), but informational alerts like session completions are held until quiet hours end.

Configure quiet hours in the mobile app under Settings > Notifications > Quiet Hours, or from the web dashboard under Settings > Notifications.

Offline Mode

The mobile app works offline using a local SQLite queue. When you approve a permission, change a setting, or perform any action while offline, the command is queued locally on-device.

When connectivity returns, the queue syncs automatically in order. A badge shows the number of pending queued commands.

Processed commands are also synced to the offline_command_queue table in Supabase for audit purposes.

Permission Approval Workflow

When an agent requests a tool call that is not auto-approved:

  1. Push notification arrives on your phone.
  2. Tap the notification to see the request detail: tool name, arguments, and a description of what it will do.
  3. Tap Approve or Deny.
  4. The decision is sent to the CLI in real time via Supabase Realtime. The agent continues or retries based on your response.

You can also approve or deny from the web dashboard. The first response wins; duplicate approvals are ignored.