Skip to Content
FeaturesFeature Map

Feature Map

This is the canonical map from user-facing docs to navigation routes, dashboard widgets, and implementation packages. It should be updated when a feature adds a new route, widget, or owned package.

The app is Kotlin and Jetpack Compose. Screens are composables, screen state lives in ViewModels, dependency wiring is Hilt, local persistence is Room, and navigation is Navigation Compose.

Source-of-truth anchors:

AreaUser docsRoutes and widgetsImplementation
Dashboard and customizationHealth Connect metrics dashboard, Non Health Connect metrics dashboard, Metric detail customizationScreen.Dashboard; dashboard widgets in DashboardWidgetIdfeatures/dashboard
Activity metricsActivity metrics, StatisticsScreen.Metric; STEPS, DISTANCE, CALORIES_OUT, ACTIVE_CALORIES, FLOORS, ELEVATION, WHEELCHAIR_PUSHESfeatures/activity, data/repository/ActivityRepository.kt
Activities, workouts, cardio load, and mapsRecording of activity, Activity and training plans, GPX/KML/KMZ/TCX route import, FIT files import, Offline maps support, CoMaps navigation context, Bluetooth LE sensorsScreen.Activity, Screen.ActivityDetail, Screen.ActivityEntry, Screen.ActivityEntryEdit, Screen.SettingsDataImport; WORKOUT, CARDIO_LOAD, WEEKLY_CARDIO_LOAD; ManualEntryWidgetId.ACTIVITYfeatures/activity, features/activity/maps, features/manualentry/activity, features/manualentry/activity/recording, features/manualentry/activity/routeimport, features/settings
Sleep, recovery, and readinessSleep tracking, Sleep score and recovery, Daily readiness, Body EnergyScreen.Sleep, Screen.SleepDetail, Screen.DailyReadiness, Screen.BodyEnergyDetails, Screen.TrainingReadinessDetails, Screen.StressDetails; SLEEP, BODY_ENERGYfeatures/sleep, features/recovery, features/readiness, features/bodyenergy
Heart and vitalsHeart and vitals, Manual entry of metricsScreen.Metric, Screen.VitalsMeasurementEntry, Screen.VitalsMeasurementEntryEdit; AVG_HEART_RATE, RESTING_HEART_RATE, HRV, BLOOD_PRESSURE, SPO2, VO2_MAX, RESPIRATORY_RATE, BODY_TEMPERATURE, BLOOD_GLUCOSE, SKIN_TEMPERATURE; vitals manual widgetsfeatures/heart, features/vitals, features/manualentry/vitals, data/repository/HeartRepository.kt, data/repository/VitalsRepository.kt
Heart rate recoveryHeart rate recovery, Recording of activityHeartRecoveryDetailRoute (heart/recovery); activity detail card; heart screen surfacedomain/insights/HeartRateRecovery.kt, features/recovery, features/activity, features/manualentry/activity/recording
Body metricsBody metrics, Manual entry of metrics, Settings and preferencesScreen.Metric, Screen.BodyMeasurementEntry, Screen.BodyMeasurementEntryEdit, Screen.SettingsBodyProfile; WEIGHT, HEIGHT, BMI, FFMI, BODY_FAT, LEAN_MASS, BMR, BONE_MASS, BODY_WATER_MASS; ManualEntryWidgetId.WEIGHT, HEIGHT, BODY_FATfeatures/body, features/manualentry/body, data/repository/BodyRepository.kt
Hydration, beverages, and caffeineHydration, Beverage logging and caffeine, Reminders, Preloaded beverage nutrition referenceScreen.HydrationEntry, Screen.HydrationEntryEdit, Screen.HydrationEntryLogDrink, Screen.Metric; HYDRATION, CAFFEINE; ManualEntryWidgetId.HYDRATION; hydration settings and Nutrition settings for caffeine preferencesfeatures/hydration, features/hydration/reminders, features/caffeine, features/manualentry/hydration, data/repository/HydrationRepository.kt, data/repository/NutritionRepository.kt
NutritionNutrition, Manual entry of metricsScreen.Nutrition, Screen.CarbsEntry, Screen.Metric; CALORIES_IN, PROTEIN, CARBS, FAT; ManualEntryWidgetId.CARBS; settings section NUTRITIONfeatures/nutrition, features/manualentry/nutrition, data/repository/NutritionRepository.kt
MindfulnessMindfulness, Reminders, Manual entry of metricsScreen.MindfulnessEntry, Screen.MindfulnessEntryEdit, Screen.Metric; MINDFULNESS; ManualEntryWidgetId.MINDFULNESS; mindfulness reminder settingsfeatures/mindfulness, features/mindfulness/reminders, features/manualentry/mindfulness, data/repository/MindfulnessRepository.kt
Cycle trackingCycle tracking, Onboarding and permissionsScreen.Metric; CYCLE; cycle permission category in Health Connect settingsfeatures/cycle, data/repository/CycleRepository.kt
WatchesSmartwatches, Bluetooth LE sensors, FIT files importScreen.SettingsWatches, Screen.WatchDevice, Screen.WatchData, Screen.WatchNotifications, Screen.WatchSettings; settings section WATCHESfeatures/watches, devices/core, devices/garmin, devices/wearos, devices/notifications, data/local/garmin
Phone-to-phone syncSync with another phoneScreen.SettingsDeviceSync; settings section DEVICE_SYNCfeatures/devicesync, features/devicesync/bluetooth, features/devicesync/protocol, features/devicesync/store
CSV importCSV import, Body metrics, Heart and vitalsScreen.SettingsDataImport, Screen.SettingsCsvImport; settings section DATA_IMPORTfeatures/imports/csv, features/settings
Health report exportHealth report exportScreen.SettingsDataImport, Screen.SettingsReportExport; settings section DATA_IMPORTfeatures/reports, data/repository/report, domain/report
App experienceOnboarding and permissions, Settings and preferences, Home screen widgets, Achievements, Apple Health import, Privacy, support, and diagnosticsScreen.Onboarding, Screen.Settings, settings subsection routes, Screen.Achievements; settings sections DISPLAY, ACTIVITIES, SENSORS, WATCHES, NUTRITION, BODY_PROFILE, RECOVERY, DATA_IMPORT, DEVICE_SYNC, HEALTH_CONNECT, DEBUG_DIAGNOSTICSfeatures/onboarding, features/settings, features/homewidgets, features/achievements, features/imports/applehealth, healthconnect, navigation

Notes

  • Screen.Metric is a generic route, but the rendered detail screen is feature-owned and selected by DashboardWidgetId.
  • Manual entry routes write explicit user-entered records to Health Connect. Dashboard and metric detail routes are read-oriented unless they open an explicit add/edit flow.
  • Proposal pages live in the app repository so these feature docs stay focused on implemented behavior.