Portfolio
iPhone Health App, Make Sense of Your Blood Pressure
I built an iPhone health app for people who need to keep really tight control of their blood pressure number, especially after a heart attack or stroke. This was guided by family and friends who had a hard time getting data out of their blood pressure monitor or application to send it to a doctor in a way that made sense. It all runs local on the phone, and the AI never sees any personal information.
The problem
Taking blood pressure measurements is extremely important for heart patients and stroke patients, and understanding daily numbers, weekly numbers, bi-weekly numbers, and being able to convey that to your doctor becomes really important.
Keeping track of your blood pressure matters most at the transition points. You are changing medications, or you are on different medications and still working to identify the best medication to lower your blood pressure. You might also be taking a medication for something else that impacts your blood pressure.
Often times people do not record when they started something new, so they cannot see the trend, or they find that the applications they use are hard to use. Most applications require screenshots, or moving that data out of the phone to a spreadsheet, or exporting and then cleaning up. That takes time and know-how, and it is inconvenient.
What I built
This application was designed to work with a variety of Bluetooth blood pressure monitors, including Welch Allyn, Omron, and generics. It easily imports your data from the blood pressure monitor, and it gets data from Apple Health to complete the historical data for analysis, so you can get a holistic view of your blood pressure over a period of time, over medication changes, or even cardiac events. It also writes to Apple Health to store all the information, in addition to its own store.
You can add notes when you are using the app, so you can keep track of changes that happen in your life. Not necessarily in a pre-filled way, so you do not select a medication from a list. You can just tell it, or talk to it, or type it. Then it correlates those changes over time with your blood pressure.
You can also set target goals, and it gives you very visual indicators of where you are. Those goals should be determined by your doctor.
You can graph the trends over any period of time, and you can generate custom reports in PDF or Excel, so with one click you can send them to your doctor, or export them. You do not pick a report from a menu, you describe what information you need. You can speak to it and ask your question, and it will provide the information that you need, whether you are at the doctor’s office or at home curious about how your blood pressure is doing.
Everything is in one place, and the report is personalized, so it not only benefits the patient but the doctor, who can now see patterns across a period of time and ask questions around monthly, weekly and bi-weekly numbers. A lot of that is not supported by the applications that exist today.
Right now it is in beta testing, before it goes to the App Store. We are finding the issues and tailoring it as we go.
How it works
In building this, the toughest part was the AI selection and how to use it to maintain privacy of data on a mobile phone.
First was finding a local model that works. The right model for the job is the one that fits within the memory footprint on a mobile device. So I benchmarked local models, and found the Apple foundation model was extremely limited, so I used Google DeepMind’s Gemma model, which was more reliable and performed well inside that footprint.
Second was to prevent computational errors, so I created primitives that the model uses to do the math, because if you have a model do the math it might hallucinate and generate wrong information.
Third was privacy, so you have two modes, local or cloud. The local model lets you interact with your information by asking questions, and it interprets what you asked and generates the answer in the format you need. Nothing ever leaves the phone.
The second mode is a cloud AI for more advanced analysis. For that I created a sandbox where the external model never has access to modify or see all the data. It sees a portion of the data in a temporary database in memory, and it creates the SQL statement that executes locally on device on that temporary and limited data. This gives external models a sandboxed container to work in, without using or seeing personal information stored on device.
Nothing in this is specific to blood pressure. The same architecture works anywhere you need AI to work on private data.
See it
Five screens from the app. Home, insights, the trend over time, a report, and asking it a question.





In practice
“What was my blood pressure three days ago?”
“Did my new medication bring my blood pressure down?”
“Is my blood pressure getting better or worse?”
“Is my blood pressure worse in the morning or at night?”
Back to Portfolio