1
100%
u/Defiant-Roll-7018
1 day ago
Five months of rebuilding an iOS app around on-the-phone AI
Over the last five months, I’ve been rebuilding a medication management app around a simple idea: describe what you need in everyday language, and let the app help you get it done. All the AI processing happens locally on the phone.
**1. A medical background, and a design mistake**
Before getting into software, I studied at medical university and gained supervised experience assisting surgical teams. When I started building a medication tracker for families, that background shaped what I thought the app should do.
The first version took about two months to build with AI helping me write the code. It launched in May 2026 with medication tracking, reminders, refills, remaining-supply calculations, appointments, and medical profiles people could show their doctor. Allergies, height, weight, unit conversions, and plenty more.
My main goal at the time was to complete the process of building and releasing an app. There were already plenty of medication trackers, and I wasn’t expecting much from mine. I wanted the experience.
But I made a fairly big mistake: I built it through the eyes of someone with medical training.
The terminology, fields, and structure made sense to me. I knew why the information mattered, so I kept adding ways to record it. Without really noticing, I was designing as though the person using it would think the same way.
The result was an extremely complicated app.
Someone managing their own medication or helping a family member shouldn’t need medical knowledge to navigate a tracker. Even ordinary tasks involved too many fields and too much information at once.
A few weeks after launch, it had only a handful of downloads. Releasing it had taught me a lot, but the product itself still needed serious work.
**2. The idea that made me return to it**
I had almost written the app off when I started wondering whether people could simply describe what they wanted to do.
Adding medication and reminders, recording a refill, creating an appointment — these are things someone can explain in a sentence. Could the app understand that sentence and help handle the relevant workflow?
I also considered handling this with scripts and predefined commands. That can work when people use the wording you expect, but I wanted users to describe what they needed in their own words. The same request can be phrased in many different ways, and I didn’t want people to have to learn a particular set of commands. So I decided against relying on scripting alone to interpret requests. The app still has defined workflows; the challenge was understanding how someone asks for them.
I wanted that processing to happen entirely on the phone. Medication information is personal, and I wanted these interactions to work without sending it to a server or depending on an internet connection.
That became the focus of the next five months.
**3. Getting a model running was only the beginning**
The first prototype used a quantized three-billion-parameter language model squeezed into the app.
It was clumsy. The responses were rough. But there was a language model running on my phone, without internet, actually responding.
It talked badly, but fuck, it talked.
Then came the much longer process of making it useful.
The model needed to understand what someone wanted and help with the correct action. It also had to respond quickly enough for an everyday app. Sometimes it failed in ways I wasn’t comfortable accepting in software handling medication information.
A working demonstration was encouraging, but there was still a lot between that and something I could release.
I spent months experimenting, changing things, and reconsidering the approach. Eventually, that led to a different model type and architecture, focused on the tasks the application actually needed to handle.
The current model is around 185 million parameters. That came from changing the approach, rather than simply shrinking the original model while keeping all of its general capabilities.
I’m keeping the internal implementation private, but the direction became clear: get as much useful functionality as possible from a small model running locally on the device.
While so much attention was going toward larger models and data centres, I became increasingly interested in what could fit into the phone someone already owns.
**4. Rebuilding the interface too**
The AI couldn’t fix every design decision I had made.
The rest of the app still needed to be understandable, including when someone wanted to enter information manually. So I also rebuilt the interface, breaking crowded screens into stages and letting people deal with one part of a task at a time.
Some workflows now take a few more steps, but those steps are clearer. There’s less information competing for attention on each screen.
That was an important lesson for me. My medical background helped me understand what information could be useful, but I still had to learn how to present it to someone who didn’t share that background.
The AI interface and the guided workflows became two parts of the same effort: making the app easier to use.
**5. What came out of it**
Version 2.0 is now available.
Users can write a simple sentence to add medication and its reminders, record a refill, or create an appointment. The AI handles the interpretation locally, and those interactions work offline and quickly.
The app also has a completely reworked interface and a design I honestly love. That matters to me because the first version had so much functionality packed into it without enough thought about how it felt to use.
What started as a project I mainly wanted to finish became something I was willing to spend months rebuilding.
I’m now looking forward to feedback from people using it in their own routines: how they phrase requests, which steps feel clear, and where the app still asks too much of them.
The biggest change over those five months was how I thought about the product. At first, I kept thinking about what else I could make it do. Eventually, I started spending much more time thinking about how easily someone else could actually do it.
https://aima.vasko.tech/
https://apps.apple.com/ca/app/aima/id6763…