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 to gemini-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

Share this project:

Updates