Private, on-device wellness accountability for iOS — sleep, water, food and steps, with Apple Intelligence and an optional Gemma-powered Brain Dump.
Swift
1
50 commits
updated Oct 3, 2026
Dr Jay is a private, on-device accountability app for iPhone (iOS 26+) that tracks sleep, water, food, and optional exercise, and surfaces today's Health step count—with praise when you deliver and a sharp roast when you do not.
30 minutes or 1 hour affects the Movement component; entries without
a duration are still saved and shown in History.The overall score is deterministic and uses these base weights:
Missing metrics are excluded and the available weights are proportionally normalized, so unavailable steps or exercise never lower the score. Missing sleep or food is shown explicitly and marks the report incomplete. Overall scores use Good (80–100), Bad (60–79), and Ugly (0–59).
The report can be generated on demand from Today. Its score, verdict, and calculation remain fixed; Swift writes the factual verdict and action while the selected on-device model contributes only a validated, non-factual barb. Good receives reluctant clinical approval, Bad roasts the weakest major factor, and Ugly receives the sharper clinical roast. The model is instructed not to repeat the visible score, weights, or metric list. Intensity changes the construction, not merely a few adjectives: Gentle uses indirect clinical irony, Playful uses a direct absurd comparison, and Spicy uses a short accusation with no advice, hedging, or soft landing. Swift fixes the single verified roast target and rejects generated lines that claim a failure in any other metric. A local target- and intensity-aware fallback is used when generation is unavailable or violates that contract.
At 10 p.m., a local notification delivers the latest deterministic report available when it was scheduled. The notification does not depend on the language model running at delivery time.
Brain Dump is an ephemeral mindfulness conversation with Dr Jay. Closing the pane immediately discards every turn; prompts and replies are not persisted, logged, exported, or included in backups. Deterministic local routing blocks prompt extraction, medical instructions, vulnerable beliefs, immediate-risk content, and unrelated task requests before generation.
Apple Intelligence is the default responder. Settings → Extended Commentary can optionally download and select Gemma 4 E2B for Brain Dump, Daily Report, and Insights. The 2.59 GB LiteRT-LM artifact is downloaded in the background, excluded from backups, and activated only after its exact byte count, file signature, SHA-256 checksum, and LiteRT engine initialization all succeed. Interrupted transfers retain resumable download data. The model can be deleted independently without affecting app history.
The Today screen puts logging actions and the actionable food and exercise cards first, followed by caffeine and sugary-item counter rings, the read-only Steps card, and the manual report action. History contains the detailed daily record, food entries, exercise entries, corrections, and previous check-ins. Current and longest streaks count consecutive days on which both sleep and water goals were completed; food and steps do not affect streaks.
Dr Jay Insights in History computes private 7-day and 30-day views from the existing log. Swift calculates coverage, goal adherence, direction, exposure totals, optional exercise activity, priorities, and cautiously worded patterns. Swift writes the factual interpretation and next action; the selected on-device model contributes only a validated barb. Trends require at least seven logged days in both comparison windows, generated commentary is not stored, and steps remain excluded because historical step totals are never persisted.
Install Xcode with the iOS 26+ SDK and install XcodeGen if needed:
brew install xcodegen.
Generate the Xcode project with your Apple Developer Team ID:
DEVELOPMENT_TEAM=YOUR_TEAM_ID xcodegen generate
Roastie.xcodeproj is generated from project.yml and intentionally
gitignored. Regenerate it after adding or removing source files.
Open Roastie.xcodeproj. The default bundle IDs are
dev.jeyanth.roastie and dev.jeyanth.roastie.widgets. Change
bundleIdPrefix and the matching App Group in project.yml for another
developer account, then regenerate the project.
Confirm both targets use the same App Group entitlement.
Build and run the Roastie scheme on a real device with Apple Intelligence
enabled for the complete experience.
The project includes unit coverage for goal calculation, streaks, check-in window selection, snapshot migration, backup import, food scoring and exposure counter boundaries, learned food-memory matching, daily-report weighting, missing-step handling, Brain Dump safety routing, and Good/Bad/Ugly report boundaries. Compile the app and test bundle without executing tests with:
xcodebuild -project Roastie.xcodeproj -scheme Roastie \
-configuration Debug -destination 'generic/platform=iOS' build-for-testing
Dr Jay's original source code is available under the
Apache License 2.0. Copyright and bundled-component attribution is
recorded in NOTICE. Third-party components retain their own license
terms, including the vendored LiteRT-LM package at Vendor/LiteRTLM/LICENSE.
Swift
100.0%
Private, on-device wellness accountability for iOS — sleep, water, food and steps, with Apple Intelligence and an optional Gemma-powered Brain Dump.
Swift
1
50 commits
updated Oct 3, 2026
Dr Jay is a private, on-device accountability app for iPhone (iOS 26+) that tracks sleep, water, food, and optional exercise, and surfaces today's Health step count—with praise when you deliver and a sharp roast when you do not.
30 minutes or 1 hour affects the Movement component; entries without
a duration are still saved and shown in History.The overall score is deterministic and uses these base weights:
Missing metrics are excluded and the available weights are proportionally normalized, so unavailable steps or exercise never lower the score. Missing sleep or food is shown explicitly and marks the report incomplete. Overall scores use Good (80–100), Bad (60–79), and Ugly (0–59).
The report can be generated on demand from Today. Its score, verdict, and calculation remain fixed; Swift writes the factual verdict and action while the selected on-device model contributes only a validated, non-factual barb. Good receives reluctant clinical approval, Bad roasts the weakest major factor, and Ugly receives the sharper clinical roast. The model is instructed not to repeat the visible score, weights, or metric list. Intensity changes the construction, not merely a few adjectives: Gentle uses indirect clinical irony, Playful uses a direct absurd comparison, and Spicy uses a short accusation with no advice, hedging, or soft landing. Swift fixes the single verified roast target and rejects generated lines that claim a failure in any other metric. A local target- and intensity-aware fallback is used when generation is unavailable or violates that contract.
At 10 p.m., a local notification delivers the latest deterministic report available when it was scheduled. The notification does not depend on the language model running at delivery time.
Brain Dump is an ephemeral mindfulness conversation with Dr Jay. Closing the pane immediately discards every turn; prompts and replies are not persisted, logged, exported, or included in backups. Deterministic local routing blocks prompt extraction, medical instructions, vulnerable beliefs, immediate-risk content, and unrelated task requests before generation.
Apple Intelligence is the default responder. Settings → Extended Commentary can optionally download and select Gemma 4 E2B for Brain Dump, Daily Report, and Insights. The 2.59 GB LiteRT-LM artifact is downloaded in the background, excluded from backups, and activated only after its exact byte count, file signature, SHA-256 checksum, and LiteRT engine initialization all succeed. Interrupted transfers retain resumable download data. The model can be deleted independently without affecting app history.
The Today screen puts logging actions and the actionable food and exercise cards first, followed by caffeine and sugary-item counter rings, the read-only Steps card, and the manual report action. History contains the detailed daily record, food entries, exercise entries, corrections, and previous check-ins. Current and longest streaks count consecutive days on which both sleep and water goals were completed; food and steps do not affect streaks.
Dr Jay Insights in History computes private 7-day and 30-day views from the existing log. Swift calculates coverage, goal adherence, direction, exposure totals, optional exercise activity, priorities, and cautiously worded patterns. Swift writes the factual interpretation and next action; the selected on-device model contributes only a validated barb. Trends require at least seven logged days in both comparison windows, generated commentary is not stored, and steps remain excluded because historical step totals are never persisted.
Install Xcode with the iOS 26+ SDK and install XcodeGen if needed:
brew install xcodegen.
Generate the Xcode project with your Apple Developer Team ID:
DEVELOPMENT_TEAM=YOUR_TEAM_ID xcodegen generate
Roastie.xcodeproj is generated from project.yml and intentionally
gitignored. Regenerate it after adding or removing source files.
Open Roastie.xcodeproj. The default bundle IDs are
dev.jeyanth.roastie and dev.jeyanth.roastie.widgets. Change
bundleIdPrefix and the matching App Group in project.yml for another
developer account, then regenerate the project.
Confirm both targets use the same App Group entitlement.
Build and run the Roastie scheme on a real device with Apple Intelligence
enabled for the complete experience.
The project includes unit coverage for goal calculation, streaks, check-in window selection, snapshot migration, backup import, food scoring and exposure counter boundaries, learned food-memory matching, daily-report weighting, missing-step handling, Brain Dump safety routing, and Good/Bad/Ugly report boundaries. Compile the app and test bundle without executing tests with:
xcodebuild -project Roastie.xcodeproj -scheme Roastie \
-configuration Debug -destination 'generic/platform=iOS' build-for-testing
Dr Jay's original source code is available under the
Apache License 2.0. Copyright and bundled-component attribution is
recorded in NOTICE. Third-party components retain their own license
terms, including the vendored LiteRT-LM package at Vendor/LiteRTLM/LICENSE.
Swift
100.0%