Inspiration

Missing pills is common, and reminder apps make it worse in a quiet way. They nag forever, so the person either tunes them out or becomes dependent on them. We wanted a reminder that works to make itself unnecessary. And we wanted the caregiver to know how the person is doing without turning every day into a phone call. Unlike traditional reminder apps that send the same notifications every day, Steady adapts to the patient's habits. What it does

Steady is two phone-first web apps.

Patient app. It shows today's medicines and the next dose, speaks a reminder when one is due, and the patient swipes up to confirm. After that, Steady asks "How are you feeling?" in a short spoken check-in, by voice or typing, in English or Hindi. The screen is large text, one thing at a time. The patient never sees scores, tiers or alerts. A red-flag answer is the only time Steady tells them to call 911.

*Caregiver app. * The caregiver photographs the medicine bottles, and Gemini reads the labels into a schedule they review and confirm. The dashboard shows adherence, mood trend and how reminders are fading. When a check-in sounds worrying, the caregiver gets a silent alert and an SMS, plus a "How Steady understood it" card with the symptoms, tone, reasons, and an English translation. Fading reminders. Every medicine has a level from 1 (full spoken reminder) to 4 (silent). Taking a dose without being prompted moves it toward silent. Missing doses brings reminders back. High-risk medicines can be set to always remind.

How we built it

• Gemini reads medicine labels from photos. It also listens to the check-in recording itself, not only the transcript, to judge symptoms, tone and urgency. It writes the opening line and the closing reply, and translates for the caregiver. • ElevenLabs is Steady's voice (text to speech) and transcribes check-ins (speech to text). • Twilio sends the silent SMS to the caregiver with a link to the Alerts tab. • Stack: React 19, Vite and Tailwind on the front end, FastAPI and SQLModel (SQLite) on the back end. A rules layer decides alert tiers, so a model's guess is never the only safeguard. Every API payload is defined as example JSON in contracts/, which let three people build in parallel.

Challenges

Phones only allow the microphone and camera over HTTPS, so we ran the demo through Cloudflare tunnels. Twilio's trial plan only sends pre-approved template text, so the alert SMS is a template on our demo account, and the full alert text is in the caregiver app. We also learned to treat AI output carefully. Check-in wording and medicine notes are AI-generated, and we say so in the app and the README. Another problem that we had was the occurrence of Git merge conflicts when we tried to merge, due to our team work. Given the fact that we were working on several features at the same time, there were cases where we all edited some common files; hence, creating conflicts during the merge phase.

Accomplishments we're proud of

• The check-in listens to how someone sounds, not just what they say. • Reminders that fade, which most reminder apps do not do. • A patient screen with no numbers or alerts on it, and a caregiver screen with the detail. • Three teammates shipped one coherent product in a weekend, with tests passing on the backend.

What we learned

A clear API contract beats a long meeting. A warm closing line matters as much as an accurate analysis. And an honest "not a medical device" boundary is easier to defend than an overclaim.

Built With

Share this project:

Updates

Submission history