Inspiration
Managing multiple prescriptions is harder than it should be. Patients on multiple or long-term medications often lose track of dosages, when a treatment ends, and when it needs to be renewed — which can lead to missed doses or interrupted treatment. I wanted a simple, conversational way to track this, instead of a complicated app with forms and menus.
What it does
RxTrack Agent is a conversational AI assistant that helps patients:
- Add a new prescription just by describing it in plain English (medication, dose, schedule, duration)
- List all currently active treatments
- Get a reminder when a treatment is ending soon (within 3 days), so nothing gets missed
How I built it
I originally built RxTrack as a solo project using AWS Strands Agents SDK and Amazon Bedrock — my first time writing Python code and working with an agent framework directly, coming from a no-code background.
For this hackathon, I ported the same three tools (add_prescription, list_active_treatments, check_reminders) to Google's Agent Development Kit (ADK), connecting them to Gemini instead of Bedrock. The core logic stayed the same — the agent-building framework changed underneath it.
The agent's data is persisted in Google Cloud Firestore — every prescription added through the agent is written live to a Firestore collection (prescriptions), which I verify directly in the Firestore Console. This makes the data durable across sessions and gives a clear, visible proof that the backend genuinely runs on Google Cloud.
Challenges I ran into
- Setting up a working Python environment from scratch on Windows, including PATH issues and a Python version mismatch that caused build errors
- Adapting to a new agent SDK (ADK) syntax while still new to Python development
- Working around a model that was retired mid-hackathon (
gemini-2.5-flash), switching togemini-3.6-flash - Getting Google Cloud authentication (Application Default Credentials) working correctly in a fresh Cloud Shell environment
What I learned
That the core idea of an agent — a model connected to a set of tools — stays remarkably consistent across frameworks. Once I understood the pattern with AWS Strands, porting to Google ADK was mostly about learning new syntax, not rethinking the architecture. I also learned how to connect an agent to Firestore for real persistent storage, instead of just local/in-memory data.
What's next for RxTrack Agent
Adding multi-user support, and possibly a notification system (email or SMS) for renewal reminders.
Built With
- firestore
- gemini
- google-adk
- google-cloud
- python
Log in or sign up for Devpost to join the conversation.