# About the Project
## Inspiration
OnTime PD Care was inspired by a very practical problem: Parkinson’s care does not happen only in the clinic. It happens at home, in small daily moments, when a patient needs to take medication on time, when a family member needs to notice a missed dose, and when a doctor needs a clear picture of what happened between visits.
For Parkinson’s disease, timing matters. A delayed or missed dose can affect mobility, tremor, stiffness, and overall quality of life. But in real life, patients and caregivers often rely on memory, screenshots, handwritten notes, or scattered chat messages. We wanted to build a simple mobile-first care companion that turns those scattered moments into structured, useful information.
The core idea is:
$$
\text{Better daily records} + \text{clear summaries} \rightarrow \text{better conversations with doctors}
$$
OnTime PD Care is not meant to diagnose or replace clinicians. It is designed to help patients and families prepare better information for care decisions.
## What It Does
OnTime PD Care helps Parkinson’s patients and their families manage daily medication and care coordination. The app includes:
- Medication schedules and reminders
- Medication status tracking, including taken and missed doses
- Prescription or medicine text recognition with AI assistance
- Symptom logging for events such as tremor, rigidity, dizziness, and falls
- Care team contact management for family members, caregivers, doctors, and pharmacists
- AI-generated visit summaries and recent care reports
- Privacy and sharing controls for AI analysis, family collaboration, and doctor-facing exports
- Guest mode for safe demo usage without writing to the database
The app is designed mobile-first, with a narrow phone-style interface so patients and caregivers can use it quickly during daily routines.
## How We Built It
We built the project as a React + TypeScript + Vite app, using Tailwind CSS and shadcn/ui for the interface. Supabase powers the backend, including authentication, database tables, row-level security, and Edge Functions.
The main data model includes:
- `profiles` for patient and account information
- `medications` for medication plans
- `medication_logs` for dose status history
- `symptoms` for symptom records
- `care_contacts` for family and clinical contacts
- `clinical_visits` for generated visit summaries
- `notifications` for application-level alerts such as missed doses
For AI functionality, the app calls a Supabase Edge Function named `ai-care`, which routes requests to Lovable AI Gateway. The AI features are used for prescription parsing, recent care reports, and visit summaries.
A lot of the work went into making the prototype behave more like a real app rather than just a static demo. We connected the medication, symptom, profile, care team, visit summary, and notification flows to Supabase so that logged-in users can persist meaningful data.
## What We Learned
We learned that healthcare-adjacent tools need more than a polished interface. The data flow has to be trustworthy.
For example, medication logs are only useful if they stay connected to the correct medication. Early in development, the medication save strategy deleted and reinserted all medication rows, which could break relationships with medication logs. We changed that approach to update existing records, insert new ones, and delete only removed items.
We also learned the importance of product boundaries. Some features, like browser notifications, work only while the page is open unless a more advanced push notification system is added. Instead of pretending that limitation does not exist, we adjusted the product copy to be clearer.
Another lesson was that AI should summarize structured data, not replace it. The app first collects medication logs, symptoms, care contacts, and profile information, then passes that structured context to the AI report generator. This makes the output more grounded and useful for real conversations.
## Challenges
One major challenge was turning a demo-style Lovable export into a more persistent application. Several UI flows existed before the backend was fully connected, so we had to trace which parts were real and which parts were local-only.
Some specific challenges included:
- Avoiding stale React state when saving newly scanned medications
- Replacing delete-and-reinsert medication sync with safer row-level updates
- Connecting symptom logs and medication logs to Supabase
- Making sure profile edits persist beyond the current browser session
- Clarifying the difference between local browser notifications and true background push notifications
- Preventing users from using phone login before SMS authentication is configured
- Keeping AI settings honest, since the real AI path uses the Supabase Edge Function rather than a locally saved API key
## What’s Next
While the project is complete for this submission, the long-term vision is to bring OnTime PD Care closer to real-world clinical and caregiving environments.
Future directions could include partnerships with clinicians and Parkinson’s care teams to validate the workflow in daily use, deeper integration with wearable devices, and broader support for multilingual patients and caregivers. We would also like to explore secure caregiver and clinician collaboration models, so that patients can choose exactly what to share and with whom.
The completed project demonstrates the core experience we set out to build: structured daily medication tracking, symptom logging, care-team coordination, AI-assisted prescription parsing, and visit-ready summaries. The next step beyond the project would be real-world feedback, clinical validation, and deployment in settings where families and care teams can use it together.
## Why It Matters
Parkinson’s care is continuous, but clinic visits are occasional. OnTime PD Care tries to bridge that gap by helping patients and families record what happens day by day, then turn those records into clear summaries for care conversations.
The goal is simple: make daily care easier to track, easier to share, and easier to understand.
Log in or sign up for Devpost to join the conversation.