<- all projects
Crystl: Supplements and Fasting

Crystl: Supplements and Fasting

Android Volume In playtest

Track what you actually take, and what it is doing to your biological age.

Crystl: Supplements and Fasting is a supplement and biomarker tracker for people who want the number, not the vibes. Log what you take and when, keep your bloodwork in one place, and see your biological age calculated with the published Levine 2018 PhenoAge method rather than an invented score. Multiple profiles, everything stored locally, and the whole interface in English, Korean, Japanese and Spanish.

In development

Screenshots //

Crystl: Supplements and Fasting screenshot 1 Crystl: Supplements and Fasting screenshot 2 Crystl: Supplements and Fasting screenshot 3 Crystl: Supplements and Fasting screenshot 4 Crystl: Supplements and Fasting screenshot 5

Dev log //

A supplement and health tracker built on the rule that nothing leaves the device. That constraint shaped the whole codebase, so the log has more storage and import/export work than feature work.

Commits
46
Days w/ changes
9
Started
12 APR 2026
Version
1.1
  • Update Play listing, feature graphic, and store asset generator
  • Honour ADMOB_TEST_DEVICE_IDS so live ad ids cannot serve real ads on a dev phone
  • Drop the app-open ad, replace it with two in-app placements
  • Fix ad placements: add an app-open ad and a post-add interstitial
  • Add a one-time "remove ads" purchase, keep the rewarded ad alongside it
  • Switch "Ask AI" off for launch behind a feature flag
  • Add AdMob (rewarded + interstitial) and swap Sentry for Crashlytics
  • Add tools/export_translations.py: catalog CSV hand-off
  • Add tools/check_resource_syntax.py and record 4.1.6/4.1.9/4.1.10 in TODO
  • Phase 4.1.6, 4.1.9, 4.1.10: user manual, stack templates and exported report localized
  • TODO: record 4.1.3-4.1.5 results
  • Phase 4.1.5: seasonal tips and supplement-timing reasons localized
  • Phase 4.1.3-4.1.4: lab markers, interaction and synergy messages localized
  • TODO: record the catalog decision (localized name + English search alias)
  • TODO: record 4.1.1/4.1.2 results and the catalog translation decision
  • Phase 4.1.1-4.1.2: cycle tips and fasting stages localized
  • Phase 3: dark default, WCAG contrast fixes, quieter disclaimers, app-specific privacy policy
  • Phase 1-2: compliance tooling and in-app medical safety
  • Fix dark mode, curated-stack duplicate import, detail-sheet palette; 16 device screenshots
  • Store copy in 4 locales, upload-ready legal pages, asset tooling, doc refresh
  • Fix 16 KB page-size incompatibility, drop dead ZXing, declare CAMERA explicitly
  • Session 14: midnight date rollover, real launcher icon, monochrome notification icons
  • Update AI_HANDOFF, TODO and audit doc with Session 13 results
  • Session 13: fix audit blockers, real PhenoAge, locale-safe dates, DB v12
  • Repoint hardcoded dev paths from C:\Users\ace\Documents\Crystl to D:\Crystl
  • Session 12: targetSdk 36, ML Kit scanner, 3-tab nav, full i18n (KO/JA/ES)
  • Update AI_HANDOFF + TODO for Session 10 wrap-up
  • Complete ยง4 stability & compatibility pass; document results
  • Complete ยง3 on-device QA pass; document results
  • Implement profile rename (was a silent no-op)
  • Guard AddSupplementSheet Take Photo with camera permission
  • Fix OCR label-scan camera-permission crash
  • Fix fresh-onboarding profile/database desync
  • Fix Sentry launch crash, rename to Crystl Health, fix instrumented tests
  • day 3
  • massive updates
  • Create vcs.xml
  • Initial commit

Every line above is a real commit from this app's repository, on the date it was made. Build chores and merge commits are filtered out.