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

**URL:** <https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071>\
**Category:** General\
**Created:** [February 14, 2022, 8:02pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071 "2022-02-14T20:02:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [February 14, 2022, 8:02pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/1 "2022-02-14T20:02:52Z")

</div>

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:

 ![Apps list](https://global.discourse-cdn.com/fly1/original/3X/d/3/d3ae61753b63adbde01b9b2ab8220ff3560d277d.png) ![App deatil view](https://global.discourse-cdn.com/fly1/original/3X/1/7/17711b34f8c5cc960cad29a189f216392fa4e7c6.png) ![Logs view](https://global.discourse-cdn.com/fly1/original/3X/9/9/996d1b174d6231bfafaeee81f6d982f82d69f165.png)

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: [TestFlight - Apple](https://testflight.apple.com/join/NkeE0g3G)**

**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!

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [February 18, 2022, 12:21am UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/2 "2022-02-18T00:21:47Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [February 18, 2022, 4:36pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/3 "2022-02-18T16:36:44Z")

</div>

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

![flyscoop-demo-1](https://global.discourse-cdn.com/fly1/original/3X/1/8/18fa9941db909f3c5cf2314f77ad2ef205ddb148.gif)

---

<div class="post-metadata">

**Author:** ![jsierles](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/jsierles/32/595_2.png) [@jsierles](https://community.fly.io/u/jsierles)\
**Post date:** [February 20, 2022, 10:46am UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/4 "2022-02-20T10:46:38Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Zane\_Milakovic](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/zane_milakovic/32/14527_2.png) [@Zane\_Milakovic](https://community.fly.io/u/Zane_Milakovic)\
**Post date:** [February 21, 2022, 1:45am UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/5 "2022-02-21T01:45:23Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [February 21, 2022, 4:28pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/6 "2022-02-21T16:28:44Z")

</div>

> [@jsierles](#):
>
> This is cool! What did you use to build it?

Thanks! It’s built in React Native, using a [material UI library](https://callstack.github.io/react-native-paper/) 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.

> [@Zane\_Milakovic](#):
>
> 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.

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.

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [February 21, 2022, 5:03pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/7 "2022-02-21T17:03:25Z")

</div>

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

 ![image](https://global.discourse-cdn.com/fly1/original/3X/f/9/f96a55bd598013d7c07f51a3e0f16f1f049e7e47.jpeg)

---

<div class="post-metadata">

**Author:** ![enstyled](https://avatars.discourse-cdn.com/v4/letter/e/bb73d2/32.png) [@enstyled](https://community.fly.io/u/enstyled)\
**Post date:** [February 21, 2022, 7:57pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/8 "2022-02-21T19:57:45Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Simon\_Willison](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/simon_willison/32/36597_2.png) [@Simon\_Willison](https://community.fly.io/u/Simon_Willison)\
**Post date:** [February 21, 2022, 8:16pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/9 "2022-02-21T20:16:51Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [February 21, 2022, 10:02pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/10 "2022-02-21T22:02:19Z")

</div>

> [@Simon\_Willison](#):
>
> 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.

Good idea, making that change, thanks!

---

<div class="post-metadata">

**Author:** ![Zane\_Milakovic](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/zane_milakovic/32/14527_2.png) [@Zane\_Milakovic](https://community.fly.io/u/Zane_Milakovic)\
**Post date:** [February 22, 2022, 12:55am UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/11 "2022-02-22T00:55:52Z")

</div>

Will try tomorrow!

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [February 25, 2022, 2:39am UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/12 "2022-02-25T02:39:19Z")

</div>

> [@mikey](#):
>
> > [@Simon\_Willison](#):
> >
> > 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.
> 
> Good idea, making that change, thanks!

(This is done now, cheers!)

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [May 20, 2022, 9:22pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/13 "2022-05-20T21:22:26Z")

</div>

Small update: The TestFlight build unceremoniously expired. Oops! Just pushed out a fresh build. And should have some fun updates soon…

---

<div class="post-metadata">

**Author:** ![yroc](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/yroc/32/16082_2.png) [@yroc](https://community.fly.io/u/yroc)\
**Post date:** [August 27, 2022, 6:37am UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/14 "2022-08-27T06:37:51Z")

</div>

Is this app still available? I was a happy user until the other day I saw it no longer is enabled.

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [August 27, 2022, 3:18pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/15 "2022-08-27T15:18:05Z")

</div>

Oops! Build expired again, I’ll get that fixed.

That’s cool that you use it frequently (I don’t have any analytics in the app) — is there anything on your wishlist?

---

<div class="post-metadata">

**Author:** ![yroc](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/yroc/32/16082_2.png) [@yroc](https://community.fly.io/u/yroc)\
**Post date:** [August 27, 2022, 6:50pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/16 "2022-08-27T18:50:01Z")

</div>

Yes! It’s a handy little tool! Probably notifications for when certain error logs are emitted (regex matching perhaps?).

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [August 27, 2022, 7:07pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/17 "2022-08-27T19:07:26Z")

</div>

Cool! Will look into what’s possible purely in-app.

New build just posted to TestFlight - it will probably auto-download/update, just holler if any trouble.

---

<div class="post-metadata">

**Author:** ![hb9cwp](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/hb9cwp/32/15573_2.png) [@hb9cwp](https://community.fly.io/u/hb9cwp)\
**Post date:** [August 28, 2022, 9:22am UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/18 "2022-08-28T09:22:06Z")

</div>

An Android build would be great. Or, did I miss it?

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [August 28, 2022, 5:02pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/19 "2022-08-28T17:02:03Z")

</div>

Ah, nope, didn’t miss that! Looks like I missed a few of the zillion steps in the Play console required before you can create a testing release. I’ll get that finished off in the next day or so (or at worst, post an `apk`).

---

<div class="post-metadata">

**Author:** ![mikey](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/mikey/32/2456_2.png) [@mikey](https://community.fly.io/u/mikey)\
**Post date:** [September 1, 2022, 3:56pm UTC](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071/20 "2022-09-01T15:56:35Z")

</div>

Non-update update: Release on android is stalled in a Google Play review. In the meantime, I do have a build available. If you’re comfortable sideloading an apk, drop me a DM and I’ll get one over to you - `@mik3y` on twitter.

[Next page](https://community.fly.io/t/flyscoop-mobile-app-for-monitoring-managing-fly-io-resources/4071.md?page=2)
