All projects

AllerSafe

Scan an ingredient label and find out whether it is safe for your allergies.

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. 1

    Label

    A photo of the ingredient list, or pasted text.

  2. 2

    Reading

    OCR with image clean-up turns the photo into text.

  3. 3

    Normalising

    The text is split into ingredients, and synonyms are mapped to standard names.

  4. 4

    Matching

    Each ingredient is checked against the allergen database. “May contain” text counts as cross-contamination.

  5. 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