LoopFollow

LoopFollow is an open-source DIY (do-it-yourself) iPhone app that combines your T1D’s display information and alerts into a single easy-to-use interface.  It requires iOS 15.6 (as of v 2.2.5) and works with Loop, Trio and iAPS.  Update to the latest version to enjoy the new features and improvements. As usual, this is a team effort consisting of coding, testing, inspiration, and copious amounts of coffee! ☕️

On this page:

This code was originally developed by Jon Fawcett who turned over development and management to the Loop and Learn team. We are happy to respond to bug reports or feature requests.

LoopFollow can get its data from Dexcom Share or Nightscout.

  • If you use Dexcom Share, you won’t see the details on the right side of the image below, but you’ll still get your glucose records and alerts.
  • If you use Nightscout and the Loop, Trio or iAPS app, then you can configure what you want to see on the right side of the display.

You can choose to provide a custom name for the LoopFollow app and you can enable that name to show on the main LoopFollow screen (as of 06 December 2023, v2.1.2 or later).

Using LoopFollow

Each of the features below is selectable – you decide whether to use them.  Additionally, many features are adjustable because YDMV (your diabetes may vary).

  1. Scrollable/scalable graph display with BG, IOB, COB, Basal, Bolus, and the General Nightscout Careportal info
    • Supports Glucose display when Dexcom is available but Nightscout is not
    • Supports Loop, Trio and iAPS when Nightscout URL is provided and Download Loop/Trio/iAPS data is enabled (show Nightscout Settings to see the enable slider)
      • Loop: Loop status, Loop Prediction, Profile Name
      • Trio: Trio status, Trio Prediction lines, Autosens
  2. Tap on Alarms on Toolbar to configure.
    • Override DND (Do Not Disturb) and system volume for all alerts with a Snooze All Until and a Mute All Until
    • List of Alarms covers the standard high/low/rise/fall/urgent glucose but also include alerts for missed glucose readings, if below configured glucose, IOB, COB, Not Looping, Overrides, Pump, Missed Bolus, SAGE, CAGE and Battery
    • Each Alarm has configurable settings including Sound selection, PreSnooze (set to be quiet At Night, During Day or Never) and Snooze Until
  3. Calendar entries (displayed on watch and/or carplay at 5 minute intervals) pre-formatted with two lines that the user can modify:
    • BG, arrow, delta,  MINAGO (minutes ago for reading)
    • COB, IOB, Basal (U/hr)
  1. Background silent audio is played to keep iOS from killing the app; this trick is why it can’t go into the App Store for a simple download and why LoopFollow puts an extra load on the phone battery
  2. Badge displays the current BG value on the app icon
  3. Information Display Settings allows user to configure the items selected and their order for the right panel when Nightscout URL is provided
    • IOB, COB, Basal, Override, Battery, Pump, SAGE, CAGE, (Recommended) Rec. Bolus, (Glucose Eventually) Pred., Carbs today, Autosens (Trio or iAPS)
  4. Pull down on the glucose value to force a refresh from Nightscout (iPhone only – does not work on Mac)
  5. When adding a Nightscout site, NS Status says “Checking”, “Site Not Found”, “Token Required”, “Invalid Token”, “OK (Read)” or “OK(Read & Write)

LoopFollow Updates

The release history is located in GitHub. Click on the link to see if you want to update the version you have on your phone.

In addition to the GitHub releases page, recent LoopFollow updates are highlighted below.

New with v2.2.5:

    • 🔔 Alarms have moved from the tab menu into settings.
    • 📲 Information Display Settings have been completely rewritten in SwiftUI, resulting in a new layout of the screen. It maintains the same functionality as before, allowing you to enable/disable info display items and rearrange them by pressing and holding.
      New Features:
    • 🔄 Remote Setting and Cancellation of Temp Target for Trio with Presets: This new remote functionality is located in the second tab menu position, where Alarms used to be. Note that the remote command requires the roles “careportal, readable” set on the token used. In the future, this space can be also used for setting overrides for Loop users. Temporary targets will appear as an override in the graph, displayed with a green banner, and will trigger the override start/stop alarms if enabled.
    • 🔐 NS Status OK: Now shows if Read or Read and Write is allowed. Write is enabled if the token has careportal or admin roles.
      Info Display Items Improvements:
    • 💡 Basal: Displays both scheduled and current basal rates. If the current basal is the scheduled one, only one value is shown. For example, “0.9 -> 0″ for a zero temp basal. This applies to both Trio and Loop.
    • 🕒 IAGE: A new item showing insulin age based on the Insulin Cartridge Change event.
    • 📊 ISF: For Trio, displays as scheduled -> current ISF. If the current ISF is equal to scheduled, only one value is shown. For Loop, the scheduled ISF is displayed.
    • 📅 Updated: For Trio, displays when the information was uploaded to Nightscout.
    • 🎯 Target: For Trio, displays as scheduled -> current target. If the current target is equal to scheduled, only one value is shown. For Loop, the current target range is displayed. If the low and high values in the range are the same, it shows as a single value.
    • 💉 TDD: For Trio, showing TDD, which only displays if Dynamic ISF is enabled in Trio.
    • 🥕 CR: Displays the current carb ratio for both Loop and Trio.
    • Bug Fixes and Technical Updates

New with v2.2.4:

    • Show eventual BG value and loop status for Trio.
    • The LoopFollow Information Table “Pred.” is renamed to “Min/Max,” showing the minimum and maximum values of the predictions.
    • Correct the DeviceStatus Download Count and Dynamic BGData Download Limit:
      • Bug fix reduces unnecessary data downloaded from Nightscout from around 68kb to 1kb.
      • If your Nightscout site has glucose data uploaded from Loop/Trio in addition to glucose from Dexcom, all data will be downloaded and displayed, even when more than 1 day is selected.
    • Required updates:
      • Enable Browser Build to continue working.
      • Update security.

New with v2.2.3

  • Prediction Curves for Trio: The app now displays all 4 prediction curves.
  • Background Update Alerts: You will now receive an alert if the app has stopped updating in the background, ensuring you stay informed at all times.
  • Bolus Display Differentiation: Automated and SMB boluses are now displayed as blue triangles, while manual boluses remain as blue dots, making it easier to differentiate between them
  • Graph Height Reset: The height of the graph now resets with each data refresh. Previously, a high prediction or BG value could cause the graph scale to remain stuck until the app was restarted.
  • Improved Dexcom Share Code: The Dexcom share code has been improved and is now less prone to crashes.

New with v2.2.2

  • Branch, Build Date, Latest Version, and Blacklisted Version Display: The app now displays essential version information directly within the interface. It will check for newer versions and show if the current version is “Blacklisted,” meaning it has bugs that make updating to a new version important.
  • Version Notifications: Receive notifications for new versions, blacklisted versions, and build expirations to ensure you are always up-to-date.
  • Removed Download Loop/iAPS Data Toggle: Streamlined the user interface by removing the unnecessary toggle. The same effect can be achieved by a combination of other settings. This setting was a common source of error when it was forgotten to be enabled. The app now runs as if this setting was on.
  • Nightscout Entries with Glucose Key: Improved data handling allowing the glucose key for Nightscout entries.We hope these updates enhance your experience with LoopFollow.

New with v2.2.1

  • Manual blood glucose values entered in Loop or AppleHealth are available in LoopFollow.

New with v2.1.9

  • Enhanced Speaking Features allow you to selectively configure which glucose readings are spoken.

New with v2.1.4

New with v2.1.2

  • Multiple Loopers (up to 3) are easily supported with either Browser Build or Mac-Xcode build

New with v2.1.2

  • The app name (displayed on phone) can be customized when building
  • If enabled, that custom name will be displayed on the main LoopFollow display

Authentication Token

For those who secure their Nightscout site with an authentication/access token, you’ll need to use a token for LoopFollow to be able to display the information in the LoopFollow Information Table. Your token requires “readable” as a role to be able to display data from Nightscout. (That will make sense when you read the docs at the link.)

If you plan to control remote overrides using LoopFollow, you must have “readable” and “careportal” as roles.

Information for Users

main vs. dev

LoopFollow users should build LoopFollow-main.  New features are tested in the dev branch. Once they are thoroughly tested, they are merged into main.

Pro Tips

LoopFollow can be used by Loopers too.  Many Loopers love the slick look of LoopFollow’s dashboard as a quick check on their current status and daily results.  Since the Looper won’t need the LoopFollow alarms, turn off Background Refresh, as it consumes a significant amount of battery power.

Volunteers Welcome

If you want to contribute, please make your pull request against the dev branch. If you notice a bug please write an issue report.

Open Source DIY

This is a DIY open-source project that may or may not function as you expect. You take full responsibility for building and running this app and do so at your own risk.

Build LoopFollow

LoopFollow can be built using either the Browser Build or the Mac-Xcode Build method.  A paid Apple Developer Account is required to use the Browser Build method.

Build LoopFollow Script for Mac-Xcode

Carefully read the information in the terminal before making any choices.

Step 1: Open Terminal.

Tip: press Command-Space to open spotlight search. Start typing “term” (without the quotes) and you will see the Terminal application icon in the box. Hit enter to open.

Step 2: Copy the entire line starting with /bin/bash and then Paste the line into the Terminal and enter

Click on the line below to copy it. You’ll see Copied to Clipboard briefly.

Step 3: Choose from one of the options presented by the script

If you are not following multiple Loopers, always choose 1 for the latest release.

  • You are prompted to enter a custom name if you want or you can continue using the LoopFollow default name

If you are following up to 3 Loopers, choose option 1, 2 or 3.

  • Each Looper can have a unique name displayed for the app
  • Each time you download using the script, the name you selected the first time is remembered, but editing instructions are provided

To test a specific feature that is only found in the dev branch, choose option 4. This is not typical, and only builds to the app associated with Looper #1

Run LoopFollow on Mac using TestFlight

If you used the Browser Build method, follow these instructions to run LoopFollow on your Mac computer. (You can also use a iPad.)

  • You need to install the TestFlight app on your computer
  • The TestFlight app on the Mac shows the same set of builds and uses the same installation procedure as shown in LoopDocs for installing apps on a phone from TestFlight
  • Install on computer from TestFlight
  • You need to enter the data source and configuration values into the app on your computer

From Mac system settings/notifications, scroll down to LoopFollow and enable notifications with the options you want.

Run LoopFollow on your Mac with Mac-Xcode Build

  1. Build LoopFollow to your Mac with Xcode (choose My Mac (Mac Catalyst) as the device)
  2. Click stop to close the running app that is started by Xcode
  3. On the left side of Xcode, click on the Folder icon
  4. Click to open the LoopFollow folder list
  5. Click to open the LoopFollow/Products folder
  6. Right-click (or Control-click) on “LoopFollow.app” and select Show in Finder
  7. First time on the Mac:
    • Drag the LoopFollow.app icon to your Applications folder in Finder
    • From Mac system settings/notifications, scroll down to LoopFollow and enable notifications with the options you want
  8. When updating on your Mac
    • Make sure you close the LoopFollow app currently running on your computer
    • Drag the LoopFollow.app icon to your Applications folder in Finder
      • Most people choose to replace the application, but you can keep both if you prefer
    • All configurations and settings are maintained
Skip to content