ProjectOpen source soon

River

Loop, made to measure.

Overview

River is a fork of Loop, the open-source automated insulin delivery app for Type 1 diabetes. It puts two and a half years of observations to work on the everyday moments of living with T1D: how a meal usually goes, what a workout does to the night that follows, what changed this week, and what the Lock Screen shows at 3 a.m.

River is a working name and is likely to change. The code is closed today. It goes open source soon.

Daily pickups for Type 1
<10
Standard deviation, cut by
>50%
HbA1c, for 2+ years
~4.9%
Time in range, 2026
98.6%*

Get the highlights.

Meals

Meals that learn from last time.

Snap a photo or describe what’s on the plate, and River returns carbs, absorption time, and tags. Every saved meal keeps its five-hour glucose outcome, so the next estimate for the same food starts from what actually happened.

  • See the math

    One row per item, like 3 × item, 2.3 g each = 6.9 g. Carbs are the rounded total, with the reasoning under absorption.

  • Saved when you say so

    Apply to carb entry fills in the carb screen. Nothing is saved until you tap Save.

  • On-device backup

    No network, a timeout, or a provider error? Apple Foundation Models take over, drawing on up to 10 recent meals as examples.

  • Your own history

    Lines like Last 4 times: +68 mg/dL peak at 2 h 15 m. Carbs adjust only after three clean matches.

  • Meal History

    Five-hour traces with a median and a 25th to 75th percentile band. Plus pre-bolus and absorption charts.

  • Honest outcomes

    Other carbs, workouts, sensor gaps, and starts below 70 are all flagged. And any meal can be left out.

Chat

Just ask.

Chat reads Loop, Nightscout, and Apple Health through 42 tools. Anything that would change something shows up as a card for you to confirm.

  • Bolus cards

    Tap Accept to open Loop’s bolus screen, prefilled and capped at your maximum bolus. Cards expire after 15 minutes.

  • Profiles and favorites

    Review, then confirm. Proposals expire after 24 hours and are rechecked against current settings.

  • Keeps going

    Replies finish even after you close Chat. If a stream drops, pick Continue, Retry, or Cancel.

  • Your choice of model

    OpenRouter, Anthropic, or any OpenAI-compatible endpoint. Prompt caching is built in, with cache counts under each reply.

Reviews and Inbox

Your day, in review.

Morning and evening reviews measure the day against your last 7 to 14 days. They arrive in an Inbox that badges only what needs you.

  • Short and specific

    Two to five items across pattern, change, meal, insulin, overnight, sleep, activity, and sensor. Each with one observation and one suggestion.

  • Hands off

    The notification says it plainly: Nothing was changed automatically.

  • Daily Stats

    Local, deterministic stats for every day, with insulin split into automatic, manual, temp, and scheduled.

  • Forecast accuracy

    Loop’s forecasts, matched against real readings, with error at 30, 60, and 120 minutes.

Profile Draft

Settings that show their work.

Profile Draft reviews up to 90 days of history and proposes basal, carb ratio, and sensitivity schedules. Each one comes with a written rationale.

  • Side by side

    Current and proposed values, entry by entry, with pump adjustments shown.

  • Two ways to save

    Save inactive leaves therapy untouched. Save and load asks for a second confirmation.

  • Checkpoints

    Progress saves after every step. Tap Continue to resume an interrupted run with a fresh time limit.

  • On a schedule

    Set it to run every 1 to 90 days, delivered straight to the Inbox.

Workouts

Workouts. And the night after.

Exercise raises insulin sensitivity for hours. So River offers a preset when a workout starts, and that evening it checks your nights after similar workouts.

  • Workout Started

    A shortcut asks Turn on Workout preset? One tap opens presets. Nothing turns on by itself.

  • Evening note

    Arrives between 7 and 10 p.m., after 45 minutes or 400 kcal of exercise.

  • Your own nights

    Lows and the lowest reading across 90 days of nights after similar workouts, compared with nights without one.

  • No model involved

    The note is plain arithmetic, with an Open Presets action.

Home screen

One chart. The whole story.

A 112 pt reading. Lifecycle bars in the sensor and pump pills. And a chart where every dose and every meal shows how long it lasts.

  • Dose lines

    Boluses of 0.75 U or more draw a labelled line that fades over the insulin duration.

  • Carb spans

    Thickness shows grams. Colour shows absorption time.

  • Chart window

    3, 6, or 12 hours, remembered between launches.

  • Themes

    Five colour schemes that carry through to widgets, Live Activities, and Apple Watch.

Lock Screen and Apple Watch

Readable at 3 a.m.

Lock Screen widgets show how old each reading is. The Dynamic Island puts IOB and COB beside glucose. And Apple Watch fetches from Nightscout on its own when iPhone goes quiet.

  • Lock Screen widgets

    Glucose with trend, delta, eventual, and age. Plus active insulin.

  • Stale at a glance

    Entries arrive every 5 minutes. The last value dims until 35 minutes, then clears.

  • Live Activity

    IOB, COB, both stacked, or the change since the last reading, right beside glucose.

  • Apple Watch

    12 complication styles. When iPhone data is more than 5 minutes old, Watch fetches from Nightscout over cellular.

Even more

All the little things.

Sensor accuracy

When the sensor gets it wrong.

In daily use with River, about 1.6 in every 3 Dexcom sensors have read nearly 150 mg/dL high. A loop that trusts a high reading doses insulin for it. So River checks each new sensor against 400 days of past pods and sensors under similar conditions.

Next up: an Eversense sensor. Results to follow.

Safety

Insulin stays with Loop.

The AI features read data and make proposals. Bolus cards and shortcuts open Loop’s bolus screen with a draft capped at your maximum bolus. And no insulin is delivered until you confirm and authenticate there.

Bolus Advice is off by default. Turn it on, and it applies only when it’s no higher than Loop’s own fresh recommendation or the maximum bolus, and only with glucose and pump data under 15 minutes old.

Upstream

Built on Loop 3.14.8. Open source soon.

yannelli/loop is a plain fork of the upstream app. River brings every dependency into one repository, so a single clone builds everything. Build 111 is the one in daily use.

River runs on Omnipod 5, thanks to the Loop open-source community, who worked out its protocol. In daily use, its connection has proven more reliable than Dash.