Inspiration
Recovering from an anal fistula can involve medicines, wound observations, routines, appointments, reminders, and small changes that are difficult to remember over time. These details are often scattered across notebooks, alarms, photo galleries, and messaging apps.
Because this is deeply personal health information, I wanted to create a calm, private space that does not require an account or upload recovery records to a remote server.
Fistula Tracker explores a simple idea: recovery tracking should feel supportive, not clinical—and monetisation should never become a barrier to care.
What it does
Fistula Tracker is an Android-first, local-first recovery companion that helps users:
- Complete structured daily check-ins
- Track medicines and record taken, skipped, or postponed doses
- Create local reminders
- Maintain a private wound-photo timeline
- Review recovery patterns over time
- Write dated journal entries
- Follow a personal routine based on their own care instructions
- Save a “When I recover” list for motivation
- Protect the app using device authentication
- Delete individual records, photographs, or all local app data
The app is a personal organisation tool, not a diagnostic service. It does not analyse photographs, recommend treatments, calculate medicine doses, or determine whether recovery is progressing normally.
Privacy by design
Recovery records are stored in an on-device SQLite database. Photographs are copied into the app’s private file storage, while reminders are scheduled locally.
The app has:
- No required account
- No developer-operated health-data server
- No advertising
- No behavioural analytics
- No cloud upload of recovery records
Users retain control over their information and can erase it through the app’s data controls.
Sustainable without a paywall
Every recovery feature remains free.
Instead of locking useful care tools behind a subscription, Fistula Tracker offers one optional, one-time supporter purchase. RevenueCat powers the product offering, purchase flow, entitlement state, purchase restoration, and communication with Google Play Billing.
RevenueCat uses an anonymous app-user identifier. Recovery entries, medicine names, reminders, journal entries, and photographs are never attached to purchase information.
This integration taught me that monetisation can be designed around trust. RevenueCat provides the infrastructure needed to support the project financially without making vulnerable users choose between paying and accessing their recovery tools.
How I built it
Fistula Tracker was built using Expo 54, React Native, TypeScript, and Expo Router.
SQLite provides structured local storage. Expo File System and Image Picker manage private photographs, Expo Notifications handles local reminders, and Expo Local Authentication protects access using supported device authentication.
For monetisation, I:
- Created a non-consumable product in Google Play Console
- Connected the product to a RevenueCat entitlement
- Added it to the default RevenueCat Offering
- Integrated the RevenueCat React Native SDK
- Implemented product loading, purchasing, cancellation handling, entitlement checks, and purchase restoration
- Tested the complete purchase flow through Google Play closed testing
- Added purchasing-power-aware regional pricing
Challenges I ran into
The most challenging part was coordinating systems with different release lifecycles: Expo native builds, Google Play testing tracks, Play Billing products, service-account permissions, and RevenueCat offerings.
Android device differences also revealed practical UI problems. Closed testers found that the keyboard could cover a check-in action and that system navigation controls could overlap the bottom navigation bar on some devices. I updated the keyboard behaviour and safe-area handling, then released the fixes back to the testing track.
Designing accurate purchase-related privacy disclosures was another important challenge. The app clearly separates anonymous purchase information processed by Google Play and RevenueCat from sensitive recovery information that remains on the device.
Accomplishments that I’m proud of
I am proud that Fistula Tracker combines a compassionate interface with a privacy-first technical architecture.
The completed project includes:
- A complete multi-screen recovery experience
- Structured local storage and private photo management
- Medicine history and local reminders
- App locking and comprehensive deletion controls
- A working RevenueCat and Google Play purchase flow
- Purchasing-power-aware regional pricing
- Feedback-driven fixes from real closed-test users
What I learned
I learned how to design a native application around sensitive information, implement reliable local persistence, handle Android edge-to-edge layouts and keyboard behaviour, and test real store purchases.
Most importantly, I learned that monetisation does not have to work against the user. RevenueCat made it possible to create a sustainable support model while keeping every meaningful recovery feature accessible.
What’s next for Fistula Tracker
Next, I plan to complete the additional testing period, incorporate more tester feedback, and prepare the production release.
Future improvements may include optional encrypted exports, clearer visual summaries, expanded accessibility support, and an iOS version—while preserving the app’s local-first privacy model.
Log in or sign up for Devpost to join the conversation.