🎈
Tools
Android
iOS
flutter
fly.io

FlyControl

Your Fly.io apps, in your pocket.

FlyControl shows at a glance which of your Fly.io apps and Machines are running, streams their logs and charts CPU, memory, network and disk. Start, stop, restart or destroy a machine from your phone. It signs in with a Fly.io token that stays in the device's encrypted storage and is sent only to Fly.io. Not affiliated with Fly.io.

What it does

Simple premise. Real value.

🖥️

Apps and machines

Every app with its status and regions, and each machine with filters and search.

📜

Live logs

Logs streamed as they happen, with a level filter and one tap to copy a line.

📈

Metrics

CPU, memory, network and disk charts from the last hour to the last 30 days.

🔐

Token stays on the phone

Several accounts and organizations, stored in the Keystore or Keychain and sent to the Fly.io API and nowhere else.

Behind the Build

The story behind it

The Problem

Checking whether a Fly.io machine was up, or reading its logs, meant opening a laptop. The web dashboard is not made for a phone.

What I Built

A Flutter client for Android and iOS that talks directly to the Machines API, the GraphQL API and the Prometheus metrics endpoint, with no server and no account of its own.

What I Learned

Most of the work was in the API, not the UI: undocumented endpoints, rate limits and refresh intervals chosen so the app stays fresh without hammering Fly.io.

What the app collects, and the rules for its paid features: privacy policy and terms of use.