FlyScoop: Mobile app for monitoring/managing Fly.io resources

Hi everyone! I made a mobile app for Fly.io, “FlyScoop”. I’d certainly love general feedback and ideas, and am working to open it up for testing right now. Here are some screenshots:

It ain’t the prettiest… but it’s functional! I’ll try to record a video too.

Try It

If you’re brave and/or curious, feel free to try it out and share feedback.

iOS: Join TestFlight here: Join the FlyScoop beta - TestFlight - Apple

Android: Coming soon.

Warnings + Known issues

  • General
    • Alpha app ahead. Although it does not perform any mutable operations, you should not use this in production.
    • The app needs a Fly.io access token. This token is stored in ios/android secure storage, and only exchanged with fly.io https services. It is not and will never be shared with me. Only proceed if you trust this statement.
  • App detail
    • When an app is running in a backup region, it is not shown correctly in the per-region cards.

Feedback & reporting issues

Please report issues and ideas here! I am sure there is a lot to improve. You can also use the TestFlight “send feedback” feature to share any issues with a screenshot. I’ll try to keep the previous section up to date with known issues.

Current Features

Here’s what it can do right now:

  • List apps (multi-organization aware - switch orgs in top nav)
  • Drill down into app
    • See current release version & date
    • See basic metrics
    • See list of active regions & health status
  • View/follow app logs
  • View deployments
  • Pull-to-refresh (in any view where it makes sense)
  • Reset app (wipe local data and start over)

And here’s what I’d like to do next:

  • (Get everything above solid - no doubt have plenty of bugs)
  • Scale operations (count and/or instance type, like flyctl scale)
  • Rollback deployments (pick a previous release & re-deploy it)
  • Regional drill-down (show only region-specific state, logs, etc)
  • Show additional metrics
    • Bookmark custom promql queries

Changelog

  • 2022-02-17 — First TestFlight release

Appendix: Why an app?

I guess the easiest answer is, because I wanted to!

I’ve worked extensively in AWS, Heroku, and GCP, and often longed for a simple “on-the-go” mobile app for infra, for those situations when you’re away from the power tools (cli & desktop dashboard). Along came fly with great API support to make it all possible! My goal is to cover the 80-90th percentile of monitoring & light management use cases — “what just happened” usage, quick scales/restarts, that sort of thing.

“Can’t the web/cli already do this”, well yes certainly. I believe there are some good reasons a mobile app can nicely complement those tools:

  • Persistence of login. While the web dashboard of Fly is great, there are good reasons for it to re-authenticate you every so often. Conversely, apps (and their platform-enforced sandboxing) are great environments for keeping longer-lived access credentials. When I’m on-the-go and want to see what’s going on right now, jumping through a login flow is often an irritating hurdle.

  • Clutter & distraction free. In a web browser, the dashboard will be sharing space with whatever other tabs and windows are open. I like having something that always opens up to “just” the infra. This is most pronounced when I’m coming back to dashboard; even if I’m still logged in, I probably have to hunt my way through whatever other tabs are open on my mobile browser.

  • Native UI polish. Not going to make a big case here, but I think there’s a wide range of stuff that can work better and/or more pleasantly with native UIs and controls. (I’m certainly not there yet :))

cheers!

16 Likes

They say if you aren’t embarrassed by your first launch, you’ve waited too long. In that spirit, iOS users can now give FlyScoop a try: I’ve updated the original post here with a link to the TestFlight & some usage notes. Please shout with issues and feedback. enjoy!

3 Likes

Quick screencap. It’s… a little more exciting with real apps :slight_smile:

flyscoop-demo-1

4 Likes

This is cool! What did you use to build it?

Really impressed with how fast it is! Very smooth. A few labels still seem like placeholders.

Any chance you are able to get more metrics displayed?

The logs came up really fast. Graphs load fast.

Kudos to fly and the excellent api to power this. And well done putting it too such good use.

I know the app is simple, but even for a simple app the speed was impressive.

Thanks! It’s built in React Native, using a material UI library for the major view components. Opinions out there vary, but I’ve found react-native to be more than adequate for basic “forms and views” type of apps.

Ah, thanks for the feedback Zane! Glad you checked it out. I hadn’t thought much about speed while building, but I’m glad that stands out.

Pro tip, on the logs view, long press on a log line to copy it. (Will make this more discoverable.)

Yes, I will get more metrics in there, I’ll try to match the existing set shown in the dashboard.

Small additional update: The app also runs on mac desktops (might need to be arm based). Just install TestFlight & follow the same link.

2 Likes

I love this! Thank you for your work. I haven’t tried it, but looking forward to.

1 Like

This looks great!

Adding a tiny bit of extra information to the screen where you provide an API key would be good - I had to remember where in the Fly interface that was, a reminder would have been nice.

1 Like

Good idea, making that change, thanks!

Will try tomorrow!

(This is done now, cheers!)

1 Like