Inspiration

A few months ago, I was handed medication and nobody really explained what it did, why this dose, or what to watch for. I was a stressed teenager piecing it together alone at midnight from a label that assumed I already knew.

I have three younger siblings. Our medicine cabinet is genuinely a mess — old antibiotics, fever medicine, things from one sibling that might not apply to another. My parents are busy and just as confused as I was. Cabinet Clear is built for that exact moment.

What it does

Cabinet Clear is an AI agent that guides you through three steps:

  1. Reads your discharge letter — paste text, upload a PDF, or photograph it. The agent extracts your diagnosis, medications, dosages, follow-ups, and warning signs in plain language anyone can understand.
  2. Scans your medicine cabinet — photograph each medicine one at a time. A custom-trained CNN checks photo clarity before anything is processed, and Grad-CAM shows exactly what the model is looking at.
  3. Gives you a clear action plan — every medicine is sorted into Keep, Dispose, Unclear, or Get from Pharmacy. Drug interactions are flagged. Warning signs are ranked by urgency. The whole plan exports as a PDF you can hand straight to your pharmacist.

The entire flow takes under 3 minutes with no medical knowledge required.

How we built it

  • Custom PyTorch CNN trained on ~1,750 images for photo clarity checking with Grad-CAM explainability
  • FastAPI backend with a deterministic Python rules engine for Keep/Dispose decisions — AI reads the input, rules make the safety-relevant call
  • Claude API for discharge letter extraction and medicine label reading
  • OpenFDA API for brand-to-generic drug name matching with fuzzy matching for OCR typos
  • ReportLab for PDF generation
  • SQLite for session history

Challenges we ran into

The hardest decision was: should AI make the Keep/Dispose call? We decided no. A hallucinated "keep this medicine" is a much worse failure than a traceable rule. So the AI reads messy real-world input — handwritten letters, blurry labels, OCR errors — and a transparent auditable rules engine makes the actual safety-relevant decision.

Getting the CNN to focus on label text rather than background noise was also non-trivial. Grad-CAM visualizations were essential for verifying the model learned the right thing.

Accomplishments that we're proud of

  • A genuinely easy-to-use 3-minute flow that a stressed non-technical parent can complete without help
  • A responsible AI architecture where explainability and auditability are built in from the start
  • Photo clarity checking with Grad-CAM feedback — the agent tells you why a photo was rejected
  • Drug interaction checking and urgency-ranked warning signs from the discharge letter

What we learned

How to build a system where AI and deterministic logic work together — each doing what it's actually good at. AI is powerful at reading messy unstructured real-world input. Rules are better for decisions where a wrong answer has real consequences. The best systems know the difference.

What's next for Cabinet Clear

Multi-language support for non-English discharge letters, and a pharmacist-facing dashboard so caregivers can share results directly with their healthcare provider.

Built With

  • claude-api
  • fastapi
  • html/css/javascript
  • openfda-api
  • python
  • pytorch
  • reportlab
Share this project:

Updates

Submission history