How I help people with type 1 diabetes see their glucose at a glance

Platforms

iPhone, Mac, CarPlay

Sensors

FreeStyle Libre, Dexcom

Status

TestFlight, early users

Long story short

Sweet-ish is an iPhone, Mac and CarPlay app for people with type 1 diabetes. It puts the current glucose where they already look: the Lock Screen, the Dynamic Island, the Home Screen, the Mac's menu bar and the car's display, read straight from the FreeStyle Libre or Dexcom cloud. In the first TestFlight test, users' average glucose fell from 8.1 to 7.4 mmol/L in a week.

Problem

Type 1 diabetes is a life of numbers, and the main one, your glucose right now, has to be a second away. With the classic tools it isn't: no phone widgets, data that is hard to share, a separate controller to find, unlock and wait for.

Solution

An app whose job is to not be opened: widgets on the Lock Screen and Home Screen, a Live Activity in the Dynamic Island, a floating Mac widget and the number in the menu bar, CarPlay. All read straight from the sensor cloud, in three styles you can read before you read the digits.

Result

From idea to TestFlight in two weeks, solo. In the first test week users' average glucose fell from 8.1 to 7.4 mmol/L.

The problem

Most people don't see what a day with type 1 diabetes looks like. It's a life of numbers, and the main one, your glucose right now, has to be a second away.

I noticed the gap with Omnipod 5, an insulin pump. Its controller is a separate device, and it doesn't show glucose on its lock screen. So the most important number of the day sits behind a routine: find the controller, unlock it, wait for it to load, and only then read your sugar.

UsuallyOmnipod controller

  1. Find the controllerIt's a separate device
  2. Unlock the screenOn the controller
  3. Wait for it to loadThe system is quite slow
  4. See your sugarOnly now

With Sweet-ishiPhone, Mac, CarPlay

  1. See your sugarLock Screen, Dynamic Island, widget, menu bar or car
  2. Nothing to find, unlock or wait for

The same reading, four steps apart.Demo data

Before the pump, the same people had the Dexcom or Libre app on their phone and saw their sugars in real time. With Omnipod they took a step back, and a huge company somehow hasn't fixed it.

And it's not only Omnipod. Across the classic tools, three things kept coming up:

A separate device to find, unlock and wait for, every time you want to know your number.

Official sensor and pump apps have no widgets, no Live Activity and nothing on the Mac or in the car. The number lives inside an app you have to open.

Sharing readings with a partner or family is hard, and in the end you carry one more device around just to know a number.

The idea

So my idea was to let people keep their sugars where they already look: on the phone, in CarPlay, on the computer and, soon, on the watch, so they know when they need to act. An app whose job is to not be opened.

In rangemmol/L
Sweet-ish main screen, alarm style, light appearance, In range: demo reading 5.6 mmol/L
In range

Alarm moving through the zones, in dark and light.Demo data

How it works

The sensor's readings are already in the LibreLinkUp cloud, so the app reads them straight from there, with no server in between. With Dexcom, Dexcom Share works the same way. That's what lets the number show up anywhere.

On the iPhone the number lives in the Home Screen and Lock Screen widgets and in a Live Activity in the Dynamic Island, so you check it without opening anything. The app itself is for when you want more: the chart, the stats and the sensor.

Drag across the chart to see an earlier reading.Demo data

Live Activity on the Lock Screen, In range, demo reading 5.6 mmol/L
Dynamic Island in Maps, In range, demo reading 5.6 mmol/L
The Dynamic Island up close, In range, demo reading 5.6
The Live Activity up close, In range, demo reading 5.6
In range

The Live Activity on a locked iPhone, and in the Dynamic Island while you use other apps.Demo data

One catch: iOS decides when widgets refresh, so on the Home Screen and in the Live Activity any reading older than 15 minutes goes grey.

On the Mac it's a floating widget that stays above other windows and the number in the menu bar, so it's always on screen, plus a full dashboard. For the car I didn't build anything separate yet: CarPlay shows the iPhone widget.

The macOS desktop with the Sweet-ish widget in Notification Center, alarm style: In range, 8.6 mmol/L, next to the Calendar and Clock widgets

The large widget in the Mac's Notification Center, in the three styles.

Sweet-ish Mac dashboard, alarm style, light appearance, demo reading 11.8 mmol/L

The Mac app also has a full dashboard, in dark and light.Demo data

Three styles

The number has to be readable in one glance. I ended up with three ways of doing that, and you pick one in the app.

Classic, Alarm and Gradient, with the three chart types: dots, bars and a line.Demo data

The app started as Apple-style glass. On 20 October I redid it and removed the shadows. That became Classic: huge black type and flat round zone bullets.

Alarm is my favourite of the three. In light mode the whole screen fills with the zone colour and the text on it is black, so you see the zone before you read the digits.

In range
In range, demo reading 5.6 mmol/L
High
High, demo reading 11.8 mmol/L
Very high
Very high, demo reading 15.2 mmol/L
Low
Low, demo reading 3.4 mmol/L
Very low
Very low, demo reading 2.8 mmol/L
Stale
Stale, demo reading 6.1 mmol/L

Alarm in light mode, all six states: in range, high, very high, low, very low and stale data.Demo data

In Gradient, every gradient has to mean something. The main tile glows in the zone colour under a white dot-matrix number, and the glow grows toward the next zone when glucose is heading there.

Contrast took some work: at High 11.8 the number reached the brightest part of the glow and dropped to 2.4:1, so in the iPhone app it now stops before that part, at 3.4:1 or better.

Make it yours

Onboarding is three screens: welcome, pick a sensor, make it yours. Everything you choose there, units, style, appearance, chart type, alerts and the Live Activity, lives in Settings too, with a preview that changes as you pick.

Welcome screen
Choosing a sensor
Make it yours: style, appearance and chart

Welcome, choosing a sensor, and "Make it yours", where you pick a style and adapt to your needs.Demo data

Make it yours, with alarm and light picked
The preview changes as you pick a style and a chart type.Demo data
Settings: units, charts, alerts, quiet hours and the Live Activity.Demo data

What happened in the car

CarPlay removes the widget background, and my first version relied on it. Alarm's black text ended up on black, and the plates in Classic and Gradient just disappeared. It looked very minimal, and the number was hard to read (reading it was the whole point, yes…).

So now, when the system hides the background on the small widget, every style switches to the small Classic layout in dark colours: a white number and arrow next to a zone-colour bullet. In a car, reading the number matters more than the style.

Sweet-ish on the CarPlay dashboard: Low, 3.4 mmol/L, a white number and arrow next to a teal bullet

Sweet-ish on the CarPlay dashboard: a white number and arrow next to a zone-colour bullet. A CarPlay Simulator screenshot, no car involved.

Results

Several people already use Sweet-ish. In their first week, their average glucose fell from 8.1 to 7.4 mmol/L. It's one TestFlight week and a handful of users, so I'm careful with the numbers, but their sugars have started to fall.

What's next

Sweet-ish is in TestFlight now, and I'm preparing it for the App Store. Next come the Apple Watch and a proper CarPlay app.

Alerts are on the list too. Today they arrive only while the app is open or when iOS refreshes it in the background, so they aren't real-time alarms yet.

One important thing: Sweet-ish is not a medical device. Please don't make insulin dosing decisions based on it.