Inspiration
Inspiration A close call at the grocery store. Tiny fonts, synonym traps (“tahini” ≠ “sesame” for many newcomers), and zero signal in the aisle. I run a food business and saw how easy it is to miss a hidden allergen—so I built a safety tool that works even offline and speaks multiple languages. What it does AllergyGuard is a PWA that scans an ingredient label and instantly flags allergens (e.g., sesame, peanuts, milk) with Red/Yellow/Green chips and a short “why.” It runs fully on-device (privacy-safe), supports EN/FR/AR/FA with proper RTL, has Large Text accessibility, and works in airplane mode. How we built it
Frontend: React + Vite + Tailwind + shadcn/ui (dark mode, clean UI)
OCR: Tesseract.js running in-browser (offline)
Logic: Deterministic rules + JSON dictionaries for 14 priority allergens, synonyms, and “may contain” phrases
PWA: Workbox precache, installable, offline routes
i18n: react-i18next with RTL handling for Arabic/Farsi
Demo mode: bundled sample labels for a guaranteed live demo
Challenges we ran into
OCR noise: low-contrast labels and curved packaging → fixed with lightweight preprocessing (resize, threshold).
Synonym coverage: “tahini/benne/sesamum indicum” style variants → solved via curated dictionaries.
RTL polish: flipping layout and chip alignment without breaking the flow.
Accomplishments that we're proud of
Fully offline allergen detection with no server or login.
Multilingual + RTL UI that flips instantly during the demo.
Early test on 20 labels: flagged 8 genuine risks and cut scan time by ~60% vs manual reading.
What we learned
Deterministic, transparent rules beat “black-box” models for safety-critical UX.
Accessibility (Large Text, color-safe chips) and localization aren’t “extras”—they change outcomes.
Offline-first design removes the riskiest demo failure: the network.
What’s next for Mohammad Jowkari (AllergyGuard)
Barcode DB + crowd reports to speed scans and capture real-world edge cases.
Clinician/NGO partnership pilots for newcomers and schools.
Expanded dictionaries (more languages, regional ingredient names).
On-device layout detection to isolate the ingredient block for sharper OCR.
Log in or sign up for Devpost to join the conversation.