An Android testbed for biohackers and researchers who run and test machine-learning models on blood glucose. It reads up to four CGMs at once (AiDEX X / LinX, Anytime CT5, Libre 3) over Bluetooth LE and runs your ExecuTorch models on their live output, on the phone. Android 12+, arm64 and x86_64, sideloaded.
[!CAUTION] Research use only. It is not a medical device and not clinically validated. Its forecasts and calculators may be wrong and must not be used for medical or dosing decisions, nor to replace a real CGM, its official app, or professional care. No warranty, no liability.
Readings, the forecast band, and carbohydrate and insulin curves on one graph. |
Up to four CGMs read at once and recorded side by side. |
Freehand drawing on the graph. |
Minigames played on the glucose trace. |
Extends the forecast past the model's horizon by feeding it back in. |
Scrub through past forecasts against the readings that followed. |
The model fills gaps in the sensor record. |
The model's estimate of the hour of day, against the local clock. |
Backtests, accuracy, calibration, and Clarke and DTS error grids. |
Train LoRA adapters on the phone for forecasting, infilling or backcasting. |
Meals, with a carbohydrate appearance curve you can draw. |
Insulin doses, with an action curve you can draw. |
Time in range, GMI, CV, LBGI/HBGI, ADRR and MAGE. |
Targets, alarms, dose rails, display and backups. |
Export an ExecuTorch .pte for the XNNPACK backend and its descriptor, as T1DMAI does, and push both:
adb push my.xnnpack.pte my.descriptor.json /sdcard/Android/data/com.t1dm.app.pub/files/models/
Each descriptor in that folder loads as one model. Its artifact key names the .pte; without it, <id>.xnnpack.pte.
Android SDK 36 and the NDK, JDK 21, and Rust with the aarch64-linux-android and x86_64-linux-android targets and cargo-ndk on PATH.
./gradlew :app:assemblePublicRelease
adb shell settings put secure lock_screen_show_silent_notifications 1MIT. See LICENSE.
An Android testbed for biohackers and researchers who run and test machine-learning models on blood glucose. It reads up to four CGMs at once (AiDEX X / LinX, Anytime CT5, Libre 3) over Bluetooth LE and runs your ExecuTorch models on their live output, on the phone. Android 12+, arm64 and x86_64, sideloaded.
[!CAUTION] Research use only. It is not a medical device and not clinically validated. Its forecasts and calculators may be wrong and must not be used for medical or dosing decisions, nor to replace a real CGM, its official app, or professional care. No warranty, no liability.
Readings, the forecast band, and carbohydrate and insulin curves on one graph. |
Up to four CGMs read at once and recorded side by side. |
Freehand drawing on the graph. |
Minigames played on the glucose trace. |
Extends the forecast past the model's horizon by feeding it back in. |
Scrub through past forecasts against the readings that followed. |
The model fills gaps in the sensor record. |
The model's estimate of the hour of day, against the local clock. |
Backtests, accuracy, calibration, and Clarke and DTS error grids. |
Train LoRA adapters on the phone for forecasting, infilling or backcasting. |
Meals, with a carbohydrate appearance curve you can draw. |
Insulin doses, with an action curve you can draw. |
Time in range, GMI, CV, LBGI/HBGI, ADRR and MAGE. |
Targets, alarms, dose rails, display and backups. |
Export an ExecuTorch .pte for the XNNPACK backend and its descriptor, as T1DMAI does, and push both:
adb push my.xnnpack.pte my.descriptor.json /sdcard/Android/data/com.t1dm.app.pub/files/models/
Each descriptor in that folder loads as one model. Its artifact key names the .pte; without it, <id>.xnnpack.pte.
Android SDK 36 and the NDK, JDK 21, and Rust with the aarch64-linux-android and x86_64-linux-android targets and cargo-ndk on PATH.
./gradlew :app:assemblePublicRelease
adb shell settings put secure lock_screen_show_silent_notifications 1MIT. See LICENSE.