Inspiration
I take "as needed" medication to manage my panic attacks, so I wanted a way to track how often they were occurring, and how I was taking my medication. I wanted a tool that would give me trends so that I could have informed conversations with my doctor. The idea was born in 2022 to simply provide myself with a tool that (at the time) could only track one medication! When I heard about the Shipaton I thought it was finally time to clean up the code and make the app available to anyone else who may find it useful, completely free & open source!
What it does
- List current medications you are taking
- Add new medications with RxNorm autocompletion
- Set up medication reminders on a recurring or one-time basis
- Log doses of medications and add notes such as side effects or other thoughts
- View a detailed history of how much and when you took a given dosage
- View Statistics, Trends, and Visualizations about how you have been taking your medication
- Import, Export, or Clear all data associated with the app.
How I built it
- Like I mentioned, it started with handling one medication, with all data stored in UserDefaults. This was a very alpha version.
- Once I learned about the Shipaton this year I set up a SQLite database and used "Boutique" as an abstraction layer for the data.
- I built a few Swift packages to serve as the base layer for the application: SwiftRxNorm would handle the RxNorm API to get medication typing suggestions (spelling is hard), and ANModelKit would be the data models that the app would be built around.
- Once I had my foundation, I used Swift and SwiftUI to write the UI and all logic in the app!
Challenges I ran into
- Apple App Store Review: This was my first indie app, so navigating two rejections and implementing feedback was the hardest part of this process.
Accomplishments that I'm proud of
- Privacy First: The app is privacy focused, with the ability to export all your data with medications or notes redacted, or, completely clear all of your data off the app. I like it when the user has complete control of their own data.
- Always Free: I chose not to charge a one-time or subscription fee, nor am I running ads. I accept tips or monthly support, but my main goal was not to earn revenue from this app.
- Open Source: This is my first indie app and my first open source project, because it's something that I use personally, I just wanted to make it available for anyone else to use or modify for their purposes.
What I learned
- Releasing an app is a lot harder than developing an app
What's next for As Needed
- HealthKit integration! iOS 26 added a Medications API to the health app, so I will be working on that next
- Growing a Community: I hope that by making this app free and open source, I may find more people who find this app useful and could submit feedback, development support, or just inspire someone else to make their app free and open source.

Log in or sign up for Devpost to join the conversation.