Sleep, exercise, weight, and heart rate all show up in mood, a good week and a bad one, but the connection is nearly impossible to see when the data lives in five different apps. One record pulls it together automatically, straight from Apple Health and How We Feel, and holds everything else on your mind too: ideas, plans, half-built projects, not just how you're feeling.
The Problem
Apple Health knows your sleep, your weight, your exercise, your heart rate, your vitamins. A diary knows how you're feeling that day. Your actual thinking, the ideas, the plans, the half-built projects, lives in a note app or nowhere at all. Three sources, three silos, no way to see them as one story.
A rough week of sleep and a dip in mood are connected. So is a strong week of exercise and the lift that follows. But when the data lives in five different places, the connection stays a hunch instead of something you can point to. And when you need to bring any of it to a doctor, you're reconstructing from memory instead of handing over a record.
I wanted one place where health data and everyday thinking could live together, encrypted, mine first and sharable second, so the pattern is visible instead of scattered and guessed at.
The Approach
If you're writing about health patterns or your own thinking, encryption should be the default, not an upgrade. AES-256 encryption at rest, a passphrase you choose that's never stored, and entries that never leave your device unencrypted. You own the file. No cloud vendor, no changed terms of service, no breach risk that isn't yours to control.
The smarter move on data was tapping Apple Health as the aggregation layer instead of building a direct connection to every device. A smart scale, an Apple Watch, and Strava already report into Apple Health, so pulling from Apple Health once brings in weight, exercise, heart rate, sleep, and vitamins together, and adding a new device later means nothing changes on the journal's end. How We Feel, which tracks mood, habits, and a mindfulness practice, is the only other source the app talks to directly.
Over that privacy-first foundation, entries capture more than emotional state: ideas, plans, half-built projects, thoughts about what's going on in the world. The health data becomes context for all of it.
What I Built
The whole thing runs from a single Windows .exe file. Double-click it, it starts a local web server, reachable from a PC browser or a phone over home WiFi. Data lives in an encrypted SQLite database on the hard drive. The passphrase derives the encryption key at login and is never stored, just held in memory for the session.
Entry Types are templates for different kinds of writing, not one generic text box. Free-form entries are the default. Book Notes hold thoughts while reading. Conversation Prep helps think through a hard conversation before it happens. Pattern Log is for noticing something over time. And a fast-capture entry catches anything — an idea, a reaction, a moment — that needs to get written down before it passes.
Health Integration pulls sleep, weight, exercise, heart rate, and vitamins from Apple Health, aggregated from an Apple Watch, a smart scale, and Strava for cycling detail, and adds mood, habits, and a mindfulness practice from How We Feel. Together they sit quietly on each entry, so what the body was doing shows up next to what was on the mind that day.
Categories let entries get organized by context, and hidden with one click if someone walks by the screen.
Export is deliberate. An encrypted backup, just the raw database file, copyable anywhere. A JSON export of everything, for personal analysis. And a filtered export built for a doctor's visit: a focused view of the relevant data and entries, not the whole record.
Privacy by Default
Encryption First
Everything encrypted at rest. The database file is unreadable without the passphrase. The passphrase is never stored. This is the foundation, not a checkbox feature.
Data Integration
Body + Mind, One Pull
Apple Health (sleep, weight, exercise, heart rate, vitamins) and How We Feel (mood, habits, mindfulness) sit alongside journal entries. One picture instead of five apps and a guess.
Architecture
The app is a single .exe file bundled with Python and Flask using PyInstaller. No external dependencies, no cloud calls. On startup it launches a local web server on port 5000, reachable from a PC browser at http://localhost:5000. A phone connects to the same server over home WiFi using the PC's local IP address, shown in the app's settings.
Data is stored in SQLite on the hard drive, in a location chosen on first run. All user content is encrypted using AES-256-GCM. The passphrase derives the encryption key via PBKDF2-HMAC-SHA256 (100,000 iterations, 16-byte salt) at login, held in memory only for the session. Wrong passphrase means nothing readable, ever.
Sessions expire on inactivity (configurable: 5, 10, 20, 30 minutes, or never). Browser localStorage is never used for journal data, only unsaved form text is kept locally for drafts. Log out, and the session is gone.
The Data
The journal has been used almost every day since it launched, across multiple entry types, with sleep, weight, exercise, heart rate, and vitamins from Apple Health and mood and habit data from How We Feel fully integrated.
Body + Mind
Sleep, weight, exercise, heart rate, and vitamins sit alongside mood and habit check-ins and journal entries, revealing patterns that would otherwise stay invisible.
Multiple Structures
Different entry types for different purposes: free reflection, book notes, conversation prep, pattern logging, rather than one generic note field.
The patterns that show up are personal and concrete: a stretch of poor sleep showing up in mood a few days later, a weekend of cycling lining up with better sleep and a lifted mood the week after. Not clinical judgments. Just the data, telling its own story.
Lessons & Next Steps
The encryption and health integration core is solid. Daily use proves it works as designed. The export functions, for personal analysis and for a doctor's visit, are complete. The different entry types have each proven useful in their own way.
What's still being learned: how to use this data proactively, to actually shape the week ahead instead of just explaining the week behind. The tool is built to support that kind of reflection, but that part is still aspirational. The hypothesis being tested is that having body and mind data together makes the pattern visible faster than piecing it together after the fact would.
The real value isn't in any single design choice. It's having a space that's entirely mine, where health data and everyday thinking live together, encrypted and private, and can be filtered down and handed to a doctor in a form that's actually useful, not just a data dump.