Mobile AppMed Tech
Project Overview
Project Overview
This application was developed to address the core challenge of low long-term retention in medication management apps.
Background & Challenges
While existing apps focus heavily on notification features and adding functionalities, they suffer from a lack of long-term user engagement. This is primarily due to the high burden of manual data entry and the complexity of daily management.
Approach
This project aims to transform the user experience from "remembering to take medicine" to a "natural, seamless habit." We achieved this through a scheduling design that integrates medication into the user's existing daily rhythms, such as mealtimes and sleep cycles.
Core Value
Market Analysis
Existing applications tend to be polarized, focusing either exclusively on "prescribed medication" or relying heavily on "manual entry." As a result, they fail to balance ease of registration with scheduling flexibility. Furthermore, many current solutions lack robust drug interaction checks, leaving significant gaps in user safety.
Core Value
Lifestyle-Linked Scheduling
Integration with daily rhythms
A scheduling architecture designed to sync medication with the user's natural daily patterns, such as mealtimes and sleep cycles.
Universal Smart Onboarding
Fast medication registration via OCR + Database
A seamless onboarding experience that utilizes OCR and database integration for immediate and accurate data entry.
Safety-Guard Interaction Check
Ensuring safety through interaction alerts
A core safety layer that automatically checks for potential side effects and drug interactions to ensure user well-being.
Technical Design - Core Logic / System Flow
Data Flow Architecture
This system integrates medication information with user data to provide end-to-end management, from automated notifications to record-keeping.
- Ingestion & Normalization: Consolidates and standardizes data from Prescriptions, Packages/Labels, and the Medication DB into a unified input form.
- Attribute Integration: Syncs user profile data (age, gender, medical history) and daily habits (routines) with the core system.
- Analysis & Generation: AI generates potential warnings (interactions/side effects) and calculates a personalized "Generated Schedule" by mapping medication requirements against the user's routine.
- Notification & Execution: Dispatch notifications via server logic and manage them as calendar-based DB events.
- Logging: Saves actual medication outcomes to DB Records to maintain an immutable evidence trail.
This end-to-end design ensures data aggregation, lifestyle optimization, and reliable execution logging, strictly following the architectural diagram.
My Contribution
I designed and achieved team consensus on this end-to-end system flow. My work focused on normalizing diverse inputs and ensuring a seamless, robust transition from habit-based schedule generation to record retention.
Technical Design - Architecture
Key Architectural Features
This system is built on a Three-Tier Architecture (Client/Server/Database) with a focus on loose coupling between functional modules.
- Service Decomposition: Segregated the server into three distinct services—Auth, Data, and Processing—to clarify component responsibilities.
- Centralized Dynamic Processing: Consolidated Google Cloud Vision API (OCR) integration, AI-driven scheduling, and notification logic within the Processing Service.
- Separation of Data Concerns: Implemented a logical separation between user-specific data (Personal DB) and reference-only medication master data (Medical/General DB).
- Server-Side Heavy Lifting: Integrated external APIs on the server side to minimize client-side processing overhead and optimize mobile performance.
My Contribution
To eliminate data inconsistency risks inherent in OCR-only registration, I designed an "API/DB-Driven Data Fetching" architecture, ensuring the system prioritizes verified medical database records over raw OCR text.
Technical Design - Data Modeling
Data Model Strategy
The data architecture is structured into a four-tier system based on data roles and update frequencies, balancing high data consistency with system scalability.
- Primary DB: Manages core master data (e.g., User, Medicine) that requires the highest level of integrity and consistency.
- Secondary DB: Aggregates dynamic operational data (e.g., Schedule, Notification) that is generated or updated on a daily basis.
- Log/History DB: Segregates immutable execution records (e.g., Medication Record, Notification Log) to ensure data auditability and analytical performance.
- Auxiliary DB: Defines supplemental data (e.g., User Device, Interaction) required for specific functional logic such as push notification routing and interaction checks.
My Contribution
I spearheaded the schema design, implementing a four-tier data responsibility model to prevent resource contention between high-consistency master data and high-frequency operational updates, ensuring long-term system stability.
Technical Design - Add Medicine
Logic & Flow Control
Defined the end-to-end flow control for the medication registration process, including comprehensive exception handling from input to final storage.
- Multi-Input & Fallback: Supports both camera (OCR) and manual entry, with robust error handling for OCR failures or missing Drug Identification Numbers (DIN).
- Automated Risk Detection: Implemented a safety mechanism that cross-references the Interaction DB and immediately triggers alerts if potential drug-drug interaction risks are detected.
- Data Enrichment Logic: Built an auto-fill workflow that automatically queries the Medication DB to supplement incomplete user input and populate the registration form.
- Data Integrity Assurance: Integrated a mandatory "Edit and Confirm" step for users to verify automatically extracted data, preventing incorrect records from entering the system.
My Contribution
Independently completed the entire process design and flowchart development for this feature. I spearheaded the team consensus on all logic, including complex exception handling scenarios.
Technical Desing - Notification & Scheduling System
Key Architectural Features
This system enables dynamic, schedule-driven notification generation and ensures reliable logging of all user medication actions.
- Scheduling Foundation: Implemented Agenda as the job scheduler. Server-side logic dynamically controls execution timing based on medication rules stored in the Schedule DB.
- Notification Status Management: Tracks delivery states within the Notification DB. Integrated with Expo Push Notifications to automate the entire lifecycle, from dispatch to logging.
- Data Lifecycle: Maintains an evidence trail by persisting notification history in the Notification Log and recording actual intake actions in the Medication Record.
- Unified Logging Design: Constructed a traceable data model that maps the entire process from notification issuance to final user response.
My Contribution
I was responsible for the overall design of the notification system and the definition of the log data models. Based on team proposals, I spearheaded the implementation of Agenda, developed the production code for Expo integration, and significantly improved system stability through extensive refactoring.
Technical Desing - Technical Challenge
[Design Pivot] From OCR "Full Automation" to DIN-Centric "Two-Step Validation"
Fully automating data ingestion via OCR led to data inconsistencies and a poor UX due to excessive manual corrections. To prevent this, I re-engineered the architecture into a two-step structure to ensure data reliability.
- The Challenge: Data Inconsistency and Operational Burden
Reliance on OCR alone resulted in unstable accuracy due to varying prescription formats. Forcing users to identify and fix OCR errors became a major barrier to retention.
- The Solution: Building Trust via DIN (Drug Identification Number)
- Step 1 (Automated Fetching): Limited OCR’s role to identifying the DIN, then immediately pulled verified "Master Data" from the medication database.
- Step 2 (Supplemental Entry): Separated variable information (e.g., dosage, instructions) into a final user-confirmation flow.
- The Outcome
Balanced system-level data integrity with a significant reduction in cognitive load for the user.
My Contribution
Identified the technical limitations of OCR early in the process and proposed the "Two-Step Input Architecture" prioritizing data integrity. I spearheaded the final decision-making for the entire logic, including complex exception-handling scenarios.
Next Step
Step 1: Enhancing & Expanding Flexible Medication Scheduling
Based on user feedback from the prototype, the goal is to improve handling of edge cases (e.g., irregular intake times) and optimize the user experience of core features.
Step 2: External Data Integration & Reliability Improvement
Transition from the internal database to official and external medical APIs. This will establish a robust information infrastructure where drug data is automatically updated to ensure maximum accuracy.
Step 3: Optimizing Drug Interaction Alert Severity
To balance safety and convenience, a feature will be introduced to customize alert severity (e.g., display only, ignore, or forced notification) based on the specific clinical risk and user context.