- Kind
- Flutter app and API
- Year
- 2025
- Area
- Care
- Recognition
- IEEE and Scopus indexed · The AllerSafe paper
- Built with
- Flutter
- FastAPI
- Supabase
- OCR
- NLP
The question
Can a phone read an ingredient label the way a careful allergic shopper would, and say how worried to be?
AllerSafe answers with a score tied to your own allergens and how severe each one is for you.
Why it exists
The project’s technical document cites over 240 million people worldwide with food allergies or intolerances, and ingredient lists are slow to read and full of synonyms. AllerSafe scans the label and scores the risk against the allergens and severity levels you set.
How it works
From a label to a risk score
- 1
Label
A photo of the ingredient list, or pasted text.
- 2
Reading
OCR with image clean-up turns the photo into text.
- 3
Normalising
The text is split into ingredients, and synonyms are mapped to standard names.
- 4
Matching
Each ingredient is checked against the allergen database. “May contain” text counts as cross-contamination.
- 5
Score
Your severity levels scale the base risks into one score from 0 to 100, with a band from safe to high.
Decisions
A rule-based classifier, with the knowledge in data files
Allergens, derivatives and synonyms are held in JSON data rather than in code, and each flag records the ingredient and the kind of match that raised it, so a result can be traced to a line on the label.
Cross-contamination counts, but less
A “may contain” warning scores lower than a listed allergen, with a base risk of 50 against 90 for an exact match.
Severity changes the number
The same match scores differently for a mild allergy and a life-threatening one, and several allergens in one product raise the combined risk.
Evidence
- Built
The backend has about 79 test functions across five files, a load test and a coverage gate of 80%.
Not built yet
- A learned (DistilBERT) allergen classifier
- Federated learning
- An allergen knowledge graph
Built with
Frameworks and libraries
- Flutter
- FastAPI
Data and storage
- Supabase
Methods
- OCR
- NLP