AideyHD — nothing leaves your devices unless you turn it on

Personal projectDesigner, architect, and the person who shipped itiOS and Android2025 – present

SwiftUISwiftDataCloudKitKotlin

AideyHD is a life-management app for people with ADHD — the kind of app that asks you to write things down about yourself. Which is exactly the problem it had to solve.

How it was built

I designed it, made the architecture and product decisions, took it through App Store Connect and Google Play, and maintain it. I did not write most of the code — the Swift and the Kotlin were both built through Claude Code, and I have never learned either language properly.

I would rather tell you that in the first paragraph than have it come out when you ask me to walk through a file. What is mine here is the judgement: what it is for, what it stores, where that storage lives, and what happens when two devices disagree. That is the part I would defend.

The decision the whole app hangs on

An app that asks people to log what they ate and what they spent is asking them to write down the things they are least proud of. If that record can be seen, it does not get written — or worse, it gets written and then quietly dreaded. The whole point of this app is to take the exposure out of self-tracking.

So the data does not go anywhere. It lives on the device. Sync between a person’s own devices runs on CloudKit, which means it goes to their iCloud account and not to a server I own. Sync is optional, and it ships switched off.

My own backend would have meant mirroring the app’s schema on a server, which CloudKit already does for me, to buy server-side fields and queries this app never runs. What it would have cost is the one property the product exists to have. So: no server.

What happens when devices disagree

Last writer wins. Two devices, the same record, the later edit stands. I did not evaluate field-level merging — this is one person’s log across their own two or three machines rather than a shared document, and I took the simple rule.

A device that has been asleep pulls the full set on waking and rebuilds its fields and charts from that. It would not survive a large dataset. For one person’s log it is predictable.

Status

In open beta on iOS and Android — anyone can join from aideyhd.com. The iOS build runs through TestFlight.