Heda Β· Guide
A quiet diary for headache and migraine. Log your attacks, symptoms and notes β all stored privately on your device.
Heda is an offline-first headache and migraine diary for Android. All health data is encrypted and stored only on your device.
The app has four main areas, accessible from the bottom navigation bar:
Browse and manage your headache events by date. Add new events from here.
Statistics and trend charts for all users. Correlations and Health (premium) detect patterns and hold your health data.
Monthly and daily summaries with charts. Export your data as CSV or PDF.
Premium status, sync and notifications, security, backup, theme, language, privacy, and advanced options.
Heda requires a Google account to protect your data. Signing in creates an encrypted, device-bound key linked to your account β no health or diary data is stored in the cloud.
Privacy first. Heda does not upload any health data to external servers. Your Google account links the encryption keys to you on this device. Supabase processes your Google account email address for sign-in and to verify your one-time Premium purchase through Google Play, as described in the privacy policy.
On first launch, Heda asks whether you want to share anonymous crash reports. This does not send any health data. You can change your choice later in Settings β Privacy & Data.
The Calendar is your daily view. It shows the current month at a glance, with coloured dots indicating headache intensity on each day.
The month strip at the top shows the current month in an ISO-week grid (weeks run MondayβSunday). Each day that has at least one logged event shows a small intensity dot:
Use the βΉ and βΊ buttons to navigate between months. Tap any date to select it and see that day's events below. The current date is highlighted. Tapping the Today label or today's date scrolls back to the current day.
Events for the selected date are shown as cards below the month strip. Each card displays:
Tap a card to open it in edit mode where all fields can be changed.
For fast logging, tap Quick Add at the bottom of the Calendar screen. A sheet slides up with the most essential fields:
Tap Save to log immediately using the current time, or tap Add details⦠to open the full event form pre-filled with these values.
To log a new event with full details, tap the + Add event button in the Calendar. If you tapped a specific date first, that date will be pre-selected in the form.
Choose between Headache and Migraine using the selector at the top. Then set the intensity on a scale of 1 (mild) to 5 (incapacitating) using the slider.
Three fields control the timing of the event:
The 3D head model lets you mark exactly where the pain is located. It supports two gestures:
Eight anatomical regions are supported: Frontal, Around eye β left, Around eye β right, Temple β left, Temple β right, Occipital β left, Occipital β right, and Neck.
Enable the Colour-code by intensity toggle to tint the painted regions with the intensity colour (light red for mild, deep red for severe). This is off by default.
Tip. You can remove painted regions by dragging over them again β the gesture toggles between adding and erasing.
Record potential triggers that may have contributed to this attack. They are grouped into seven categories:
| Category | Triggers |
|---|---|
| Stress & mood | Stress, Stress let-down, Anxiety |
| Sleep | Too little sleep, Too much sleep, Irregular sleep |
| Food & drink | Skipped meal, Long fast, Dehydration, Alcohol, Caffeine, Caffeine withdrawal, Chocolate, Aged cheese, Food additives, Processed meat |
| Hormonal | Menstruation, Ovulation, Hormonal birth control |
| Environment | Weather change, Extreme temperature, Humidity |
| Sensory | Bright light, Strong smell, Loud noise, Screen flicker |
| Physical | Intense exercise, Neck tension, Travel, Medication overuse |
The free-text notes field captures anything not covered by the structured fields β context, observations, what helped, or any other detail you want to remember. Tap Save when done. The event appears on the Calendar immediately.
Permanent action. Deletion cannot be undone. The event is removed immediately from the encrypted database on your device.
The Analysis screen has three tabs at the top: Statistics, Correlations, and Health. Statistics is available to all users. Correlations and Health require Heda Premium.
The Statistics tab gives you an overview of your headache frequency and severity across a selected time period.
Period selector. Choose between five time periods: 7 days, 30 days, 90 days, 1 year, and All time.
Summary card. A hero card shows the following metrics for the selected period. Trend arrows (β / β) compare each figure to the equivalent previous period:
Charts.
Type breakdown & triggers. A stacked bar shows the split between event types (Headache / Severe Headache / Migraine / Severe Migraine) with counts and percentages. Below it, a horizontal bar chart lists your most frequent triggers for the selected period.
The Correlations tab analyses your health data β read from Health Connect, entered by hand, or imported from a file β and looks for nine evidence-based patterns that commonly precede headache and migraine attacks. It looks back over the last 90 days.
Premium feature. The Correlations tab requires Heda Premium. It draws on the same sleep, heart rate, HRV, steps, and exercise data shown on the Health tab, however that data got there.
Your baseline. A baseline card at the top shows your 14-day median values for each health metric. A "β" is shown for any metric without sufficient data.
Detected patterns. Heda checks nine evidence-based patterns for each headache event. Each finding shows the measured value and the threshold it crossed β for example: "Slept 5 h 30 min before this event (threshold: 7 h)".
Recommendations. Based on the detected patterns, Heda generates personalised recommendations ranked by priority (High / Medium / Low). Examples include improving sleep duration or regularity, increasing daily activity, or managing stress and recovery.
Not medical advice. Detected patterns are correlations, not diagnoses. Always consult a healthcare professional for medical guidance about your headaches.
Premium feature. The Health tab requires Heda Premium. Until Premium is active the tab shows an Unlock Health Connect screen instead β Heda requests no Health Connect permissions and reads no health data before that.
The Health tab is where your sleep, heart rate variability (HRV), resting heart rate, step count and exercise data live β the same five metrics Correlations analyses. Data can reach it in three ways:
Values you enter or import carry a Manual badge, are stored exactly like Health Connect data β encrypted, on your device only β and are used by Correlations alongside anything read from Health Connect. Revoking Health Connect access does not touch them.
The rest of the tab shows your latest synced night with its sleep window, a 30-day sleep average, a sleep-duration trend, and a Daily health details list for individual days.
The Reports tab lets you view structured summaries of your data and export it for sharing with a healthcare professional.
The monthly report shows a calendar view for each selected month, with each day colour-coded by status:
A pie chart shows the proportion of days in each category. Select one or more months using the month chips. Tap Select all or Clear to quickly select or deselect all months.
The daily report focuses on individual events within a selected period. Choose from 7 days, 30 days, 90 days, or All time. A summary row at the top shows total events, average intensity, and the date range. Below it, each event is listed with its type, time, and intensity.
File location. Heda uses the Android Storage Access Framework, so you choose where the exported file is saved. No files are uploaded to any server.
Access Settings from the bottom navigation bar. Changes take effect immediately. The sections below are listed in the same order as they appear in the app.
While Premium is inactive, a Premium status card sits at the top of Settings. Buy premium opens the purchase dialog; Refresh status re-checks an existing purchase, which is what you need after reinstalling or moving to a new phone. If a check failed, the card says why β no connection to Google Play or the verification server, a payment still pending, a purchase made with a different Google account, and so on. Once Premium is active the card disappears.
Premium is a one-time purchase, not a subscription. It unlocks the Correlations and Health tabs on the Analysis screen (including manual entry and file import of health data), automatic Health Connect sync, daily health recommendations, and PDF export on the Reports screen.
Automatic Health Connect sync. When enabled, Heda fetches your latest health data from Health Connect once per day in the background, even when the app is closed. This is off by default and requires Premium β tapping it without Premium opens the purchase dialog. It also requires Health Connect permissions to be granted.
Daily health recommendations. When enabled, Heda sends a daily notification if a high-priority correlation is detected. Tapping the notification opens the Analysis screen on the Correlations tab. This is off by default, requires Premium, and requires the device's notification permission.
Expand the Advanced section to fine-tune the thresholds used by the correlation engine. The defaults match established clinical guidelines for migraine prevention:
| Setting | Default | Description |
|---|---|---|
| Minimum sleep | 7 h 0 min | Sleep below this duration is flagged as a possible trigger. |
| Max sleep variability | 60 min | Standard deviation of sleep timing above this triggers the irregular-sleep pattern. |
| Minimum steps | 3 000 | Step count below this is flagged as low activity. |
| Minimum HRV | 30 ms | HRV below this absolute threshold is flagged. |
| HRV baseline fraction | 0.80 | HRV below this fraction of your 14-day baseline is also flagged. |
Tap Reset to defaults to restore all thresholds to their original values.
The Security section holds the Biometric lock switch β require a fingerprint, face unlock or PIN to open Heda. The switch stays unavailable until you have set up a screen lock in your device's own Settings.
The Backup section has a single Backup & restore row, and it is free β no Premium needed. Create backup writes one encrypted file that you can store anywhere; you choose the password that locks it, and it must be at least 10 characters with an upper-case letter, a lower-case letter and a number, using unaccented characters only (Γ€, ΓΆ and Γ₯ cannot be used). If you lose the password the file cannot be opened β there is no recovery.
Restore from backup merges the file into what is already on the phone rather than wiping it. If some records exist on both sides with different content, Heda asks once whether to keep what is on the phone or replace it with the backup, then reports how many entries and health days were added, replaced and skipped. App settings such as theme and language are not included in a backup β set those again on the new device.
Theme. Choose how the app looks:
Language. Choose from 30+ languages grouped by region (Nordic, Germanic, Romance, Slavic, Baltic, and Other). The selected language applies to all text in the app. Choose System to follow your device's language setting.
Error reporting optionally shares anonymous crash reports (GlitchTip) so bugs can be fixed. No health data is ever included, and no usage analytics are collected. You can change this at any time; the app restarts the reporter when you do.
The foot of the screen shows the installed app version, and a collapsible Copyrights block crediting the app, its 3D model, and its typography.
Open Settings β Privacy & Data to manage all data and account settings.
The top of the screen shows the Google account currently signed in. Tap Sign out to sign out of the app. Your data remains on the device; you can sign back in at any time.
All data is stored locally on your device in two encrypted databases:
| Data type | Contents | Encryption |
|---|---|---|
| Headache events | Timestamps, pain areas, intensity, aura, rescue medication, triggers, notes | AES-256 (SQLCipher) |
| Health Connect cache | Sleep, sleep stages, HRV, heart rate, steps, and exercise synced from Health Connect | AES-256 (SQLCipher) |
| Manual health entries | Resting heart rate, HRV, sleep duration, steps, and exercise you entered by hand or imported from a file | AES-256 (SQLCipher) |
| Authentication token | Supabase user ID, email, sign-in timestamp, account binding | AES-256-GCM (Tink) |
| App settings | Theme and language preference only β no health data | Unencrypted |
Encryption keys are stored in the Android Keystore, hardware-backed where available, and never leave the device.
Heda complies with EU GDPR Article 9 (special categories of personal data). Your rights:
These actions are permanent and cannot be undone.
Health Connect is Google's unified health data platform for Android. Heda reads five types of health data from it to power the Correlations and Health tabs on the Analysis screen. If you have no connected device or app, you can enter the same five metrics by hand or import them from a file instead β see Health.
Read-only. Heda only reads data from Health Connect β it never writes to it. Only the specific record types required for correlation analysis are requested.
By default, health data is only fetched when you open the Health tab or tap Refresh. Enable Automatic Health Connect sync in Settings to fetch data once per day in the background.
You can revoke Heda's Health Connect permissions at any time in the Health Connect app (Manage apps & devices β Heda β Permissions) or from the Health tab inside Heda. Previously cached data remains on your device until you delete it via Privacy & Data β Delete local data. Values you entered by hand or imported from a file are not affected by revoking Health Connect access.
Data stays on device. Health Connect data is cached in the encrypted on-device database and is never sent to any server.
Β© 2026 EXSports Oy. This documentation is updated as the app evolves. Last revised August 2026.