How the System Decides
Read
CGM readings arrive about every five minutes.
Classify
Fixed rules name the situation. No model is used here.
Match
Find similar past episodes of this user: glucose level, active insulin, time of day, meal.
Decide
Send a message only if messages helped in those past cases.
Check
A safety layer reads the message before the user sees it.
Step 3 is the part no current product has, and it is what makes step 4 possible.
Episodic Memory
An episode has three parts. Because the action is stored together with the result, the system can tell whether sending a message actually helped, which a statistics app cannot do.
The situation
Falling, 82 mg/dL, insulin still active, 18:40, two hours after a meal.
The action
A short warning was sent, or no message was sent and the reason was recorded.
The result
The low was avoided, measured over the next six hours.
Use Cases
Before a low
A short message at the point where acting early still prevents the low, because in similar past episodes acting at this point worked and waiting did not.
During a low
A reminder of what worked for this user before, such as a specific food or waiting a set time, and that they have handled this situation already.
Safety Limits
The system never
- gives an insulin dose
- gives a carbohydrate amount of its own
- names an illness or diagnoses
- tells the user they are safe
- replaces a doctor or a care plan
How this is enforced
- fixed rules decide, not the model
- every message is checked before display
- limits are written in code, not in prompts
- personalisation changes timing, not limits
- 380 automated tests cover these rules
Current State
Working now
- live CGM data read continuously
- situation classification by fixed rules
- safety layer with 380 automated tests
- episodes recorded and scored automatically
- a replay tool that tests past decisions against real recorded data
To build
- using stored episodes to choose the message
- adding insulin, meal and activity data to the match
- trend prediction, to warn earlier
- delivery to a phone
- testing with users other than ourselves
Planned Additions
Journal
The user writes how they feel and what symptoms they have. This is stored with the episode and matched later.
Size of response
Not only whether to act, but how much, based on what this user's own corrections did before.
Summarised patterns
Many episodes combined into a few clear statements about the user, each with the number of cases behind it.