Inspiration
Drug recalls happen all the time, but the people actually taking those drugs are usually the last to find out. We wanted an agent that closes that gap automatically.
What it does
FarmaWatch watches FDA drug recalls, cross-checks them against a patient roster, and the moment a patient is being prescribed a recalled drug, it writes a clear alert and pushes it straight to Slack (email coming soon).
How we built it
openFDA for live recall data Claude (via TrueFoundry AI Gateway) to write the alert bulletin Composio to deliver the alert to Slack/Gmail ClickHouse to log every event Express API + dashboard, deployed on Render Two people, split into the clinical agent and the rails (API, data, notifications, deploy), wired together through one frozen contract.
Challenges we ran into
Google hard-blocks Gmail's restricted scopes, so we pivoted the live demo to Slack. Tiny gotchas that ate real time: a #channel value silently eaten by dotenv, a Composio account tied to the wrong entity, and a SQL comment that stopped our ClickHouse table from ever being created. TrueFoundry's gateway accepted our key but the Anthropic credentials behind it were failing. Accomplishments that we're proud of A real end-to-end flow that works live: recall detected → patient matched → bulletin written → alert sent to Slack → every step logged in ClickHouse and visible on the dashboard. And it never crashes the demo, because every external call has a fallback.
What we learned
Provider docs and real provider behavior don't always match — we verified every integration against the actual API. The hardest part of agents isn't the AI, it's the plumbing: auth, OAuth scopes, and config. Designing a frozen contract up front let two people build in parallel without stepping on each other.
What's next for FarmaWatch
Finish the Gmail channel (custom Google OAuth) so patients get emails, not just Slack. Swap synthetic patients for a real roster. Let clinicians edit the alert prompt live from the TrueFoundry UI. Real-time recall polling instead of on-demand checks.
Built With
- claude
- clickhouse
- composio
- render
- slack
- truefoundry
Log in or sign up for Devpost to join the conversation.