Track: Health / Wellbeing
Inspiration
Americans trust the FDA to keep their food safe, but the FDA permits hundreds of additives that the EU, Canada, UK, Australia, and Japan have outright banned or restricted. Most people have no idea what's in their food, or that the same product sold in Europe is often made with an entirely different formula. We wanted to make that invisible information visible, instantly, just by pointing a camera at a label.
What it does
LabelGuard lets you upload a photo of any nutrition label. It reads every ingredient using Claude's vision AI, then cross-references each one against a curated database of international food safety regulations, flagging anything banned or restricted in the EU, Canada, UK, Australia, or Japan. Each ingredient gets a risk level (safe, caution, or danger), the specific countries that restrict it, and a plain-English explanation of why. The summary tells you at a glance how many danger and caution flags the product has.
How we built it
We built the frontend with React and Vite, with drag-and-drop image upload and color-coded ingredient results. The backend is a Flask API that receives the image and calls Claude's vision model. A single Claude API call handles both OCR and regulatory analysis with no separate OCR pipeline needed. We embedded a structured reference list of 20+ flagged additives directly into the system prompt, with exact EU regulation numbers, IARC classifications, and jurisdiction-specific bans. Claude matches what it sees on the label against this list precisely rather than guessing.
Challenges we ran into
Getting Claude to return consistent, parseable JSON from messy real-world label photos was harder than expected. Small fonts, bad lighting, and angled shots all degrade readability. We also had to be precise in the system prompt about the difference between "outright banned" and "requires a warning label," since those are meaningfully different and we didn't want to mislead users. Building the regulatory reference list accurately, with correct jurisdiction names, regulation citations, and dates, took real research.
Accomplishments that we're proud of
We went from zero to a fully working prototype in 90 minutes. Collapsing OCR and regulatory analysis into a single Claude call was an elegant solution that is fast and requires no preprocessing pipeline. The system prompt we built is genuinely accurate. We cited specific regulations like EU Regulation 2022/63 banning titanium dioxide, the FDA's January 2025 revocation of Red 3, and Canada's BVO ban. That specificity is what makes the output trustworthy rather than generic.
What we learned
Prompt engineering matters more than model choice. The quality of Claude's ingredient analysis was almost entirely determined by how precisely we described the regulatory framework. Vague prompts gave vague results, but a structured reference list with exact jurisdiction rules gave consistently accurate flags. We also learned that Claude's vision capabilities handle imperfect real-world label photos surprisingly well without any preprocessing.
What's next for LabelGuard
A mobile app so you can scan in the grocery store in real time. Expanding the regulatory database to cover cosmetics and personal care products. A personal blocklist for allergies or dietary restrictions. Historical scan tracking so you can see patterns across everything you've bought. A pre-analyzed database of popular products so common items load instantly.

Log in or sign up for Devpost to join the conversation.