All work
04

Consumer health SaaS

A real-time drug-recall alert platform

Alerts families about recalled medications — before the pharmacy calls.

The challenge

Official recall information is fragmented and slow — users often keep taking an affected batch before they ever hear about it.

What we built

Users register a personal or family medicine cabinet; the system matches it against official recall data daily and alerts across email, in-app and SMS within 24 hours — with subscription billing and full compliance pages.

Highlights

  • Three-state matching engine: fuzzy match + lot comparison + multi-signal scoring
  • Risk-tiered notifications
  • Automated daily data sync
  • Privacy / HIPAA / CCPA compliance

Product tour

Alerts before the pharmacy calls

A guided walk through the recall-alert platform we shipped — families register a medicine cabinet, a three-state engine matches it against official recall data daily, and risk-tiered alerts reach every channel within 24 hours, all on a compliant subscription. Screens are representative UI, rebuilt for confidentiality. Hover any note to light up its point on screen.

01

Medicine cabinet · your meds

A cabinet for the whole family

Add each member's medications by typing, snapping a photo (on-device OCR), or scanning the barcode — the cabinet is the watchlist the engine monitors.

recallguard.app
RecallGuard
cabinetchecknotificationssettingsJ
Family medicine cabinetAdd
YouMomKids
Amoxicillin 500 mg
NDC 0093-4155
Recalled
Lisinopril 10 mg
NDC 0781-5077
Monitored
Metformin 850 mg
NDC 0378-1140
Monitored
9:12
Add medication
TypePhotoScan
Detected
Amoxicillin · NDC 0093-4155
On-device OCR · image never uploaded
  1. 1

    Per-member cabinets

    You, parents and kids — each person's meds tracked separately.

  2. 2

    Live recall status

    Each medication shows monitored or recalled at a glance.

  3. 3

    Three ways to add

    Type, photo OCR, or barcode scan — whatever's fastest.

  4. 4

    Privacy-first capture

    OCR runs on-device; the photo is never uploaded.

Family
Cabinets
Type · Photo · Scan
Input
On-device
OCR privacy
02

Matching engine · three states

Recalled, possible, or clear

The engine combines an exact NDC match, a lot-number comparison against the recall range, and fuzzy name/maker scoring — resolving each medication to recalled, possible, or not-found.

recallguard.app/check
RecallGuard
cabinetchecknotificationssettingsJ
Amoxicillin 500 mg
NDC 0093-4155 · Lot A23 · Aurobindo
RECALLED · Class II
Match signals · multi-signal scoring
NDC exact match
0093-4155
Hit · high confidence
Lot comparison
Lot A23 in recall range
In range
Fuzzy name / maker
word_similarity 0.92
Strong
RecalledPossibleNot found
  1. 1

    NDC exact match

    A National Drug Code hit is the high-confidence anchor.

  2. 2

    Lot-range comparison

    Checks the lot number against the recall's affected range.

  3. 3

    Fuzzy multi-signal score

    Name and maker similarity (pg_trgm) catch near-misses.

  4. 4

    Three-state verdict

    Resolves to recalled, possible, or not-found — no false alarms.

NDC + lot
Precise
Fuzzy
pg_trgm
3 states
No false alarms
03

Alerts · risk-tiered

The right alert, every channel

When a daily match fires, RecallGuard alerts across email, in-app and push within 24 hours — tiered by FDA class so the most dangerous recalls reach you first.

recallguard.app/notifications
RecallGuard
cabinetchecknotificationssettingsJ
Alerts
Amoxicillin recalledClass II
Lisinopril — advisoryClass III
Weekly digest sentInfo
Channels
Email
In-app
Push
Tiered by risk: Class I alerts every channel immediately.
7:02
RecallGuard · now
⚠ Recall: Amoxicillin (Class II)
A medication in your cabinet was recalled.
Alert detail
Amoxicillin 500 mgClass II
Reason: failed dissolution spec. Stop use and consult your pharmacist.
EmailIn-appPush
  1. 1

    Alert center

    Every match logged with its FDA risk class.

  2. 2

    Per-channel control

    Email, in-app and push toggle independently per user.

  3. 3

    Instant push

    A recall in your cabinet pushes to the phone immediately.

  4. 4

    Tiered by risk

    Class I hits every channel at once; lower classes are gentler.

≤ 24h
To alert
3 channels
Email·in-app·push
Class I–III
Risk tiers
04

Billing · compliance · sync

Compliant, subscribed, always current

A Stripe subscription covers the family, HIPAA / CCPA / privacy pages keep it compliant, and a daily Vercel Cron sync keeps the recall data current — no manual refresh.

recallguard.app/settings
RecallGuard
cabinetchecknotificationssettingsJ
Subscription
Family planActive
$6/mo
Up to 6 members · all channels
Billed securely via Stripe
Last sync · today 03:00
Vercel Cron · 30-day window
Privacy & compliance
HIPAA
Health data safeguards
CCPA
California privacy
Privacy policy
Clear data controls
  1. 1

    Family subscription

    One plan covers up to six members across every channel.

  2. 2

    Stripe billing

    Cards handled securely by Stripe — never on our servers.

  3. 3

    HIPAA / CCPA

    Health-data safeguards and clear privacy controls built in.

  4. 4

    Daily auto-sync

    A Vercel Cron job pulls fresh recall data every night.

Stripe
Subscription
HIPAA · CCPA
Compliant
Daily Cron
Fresh data

Fragmented recalls, turned into one timely alert

Official recall data is scattered and slow. We compressed it into one loop — register once, match daily, alert on a hit — so families hear about an affected batch before they keep taking it.

Want something like this?

Let's turn your business into one connected system.

Start a project

Next case

A three-in-one commerce & fulfillment platform

01