Inspiration

I have spent years on the compliance side of food businesses in France food-hygiene training, HACCP plans, temperature logs, the paperwork a small restaurant has to keep. I have seen what happens on the day the inspector walks in: the owner discovers, in front of a stranger, that the meat fridge has been drifting at 7 °C for a week, that "we clean every night" is not a cleaning plan, that the notebook of temperatures does not count as a record.

In France the result is public. Since 2017, every inspection ends with one of four grades published on Alim'confiance from Very satisfactory to Urgent correction required. The last one can mean an administrative closure: weeks of lost revenue for a business that runs on thin margins, often for problems that were fixable in a day.

Consultants who do pre-inspection audits exist. They cost several hundred euros a visit, which is exactly why the businesses that need them most never call. Argus is that audit, done from a phone, in a minute.

What it does

Argus simulates the official inspection of a commercial kitchen and predicts the public grade it would receive.

The operator:

photographs the kitchen (fridges, work surfaces, dish area, waste, floors) with their phone; dictates voice notes for what photos cannot show ("the blast chiller has been broken for a month, we cool the stews on the counter overnight"); pastes their temperature logbook as-is, however messy; describes the situation in a few lines (training, pest control, written plan or not). In about 40 seconds Argus returns:

the predicted Alim'confiance grade with the rule that led to it and the risk of administrative closure; the inspector's report: every non-compliance with its severity, the point of the official inspection grid, the regulation it violates, the evidence (a photo with the model's confidence, a temperature reading, a voice note, a statement), the corrective action and the deadline; a kitchen map of findings by zone and a photo-evidence gallery; what the inspector would still check on site; on demand, a full Food Safety Management Plan (the French PMS required by Regulation (EC) 852/2004) written for that kitchen: hygiene practices, HACCP flow with critical control points, records to keep, procedures, and a 30-day action plan where every action cites the finding it fixes; a PDF of the whole thing. The interface is in English with a French toggle for operators in the field. The live timeline shows which model is working on what, in real time.

How we built it

Everything runs on Nebius Token Factory through its OpenAI-compatible API, with the NVIDIA Nemotron 3 family doing the thinking.

Perception starts with MiniCPM-V 4.5 from the Nebius catalogue, which reads each photo the way an inspector would: it names the zone and the equipment, then lists the anomalies it sees with a calibrated confidence score.

Voice notes are transcribed in the browser with the Web Speech API. Nemotron 3 Nano 30B then cleans the transcript and pulls out the inspection facts.

Temperature logs go through the same Nano model with reasoning switched off, so it transcribes the logbook faithfully instead of interpreting it. A deterministic rule engine written in code applies the legal limits of the French order of 21 December 2009 and detects persistent drift. The model reads; the code decides.

The judgement is handled by Nemotron 3 Ultra 550B, with Super 120B as a fallback when Ultra is slow. It cross-checks every piece of evidence against the DGAL inspection grid and the regulation, qualifies each finding's severity, predicts the public grade and writes the inspector's report.

Finally, Nemotron 3 Super 120B drafts the food safety management plan from the case file and the report.

Challenges we ran into

No Nemotron accepts images on Token Factory today. Nano Omni and Nano 2 VL are announced but absent from the catalogue; Nano, Super, Ultra and Lightning all return "This model does not support image input". I kept Nemotron as the brain (extraction, judgement, plan) and used MiniCPM-V from the same catalogue as the eyes.

Nemotron's reasoning mode aggregates tabular data. In thinking mode, Nano collapsed 14 temperature readings into 3. Passing chat_template_kwargs: {enable_thinking: false} restored faithful transcription and halved latency.

A language model inverted the sign on negative temperatures (−19 °C judged non-compliant against ≤ −18 °C). That is the day the rule engine was born.

Over-confident vision. The perception model rated "raw and cooked mixed" at 0.80 on a photo where it was only plausible. Explicit confidence calibration in the prompt, plus a 0.9 threshold for photo-only critical findings, fixed it without losing real hazards.

Structured output drift. Ultra writes "chambre froide" where an enum expects cold_storage; Super returns {title, detail} objects where strings were asked. Lenient zod schemas with aliases and text flattening absorbed all of it.

Accomplishments that we're proud of

A report that a French food-safety professional would recognise: the right grid points, the right texts, the right deadlines, one finding per subject, and the honesty to say "to confirm on site".

The voice-note moment: "we cool the stews on the counter overnight" becomes a critical finding under point B7 with an immediate action something no photo or logbook could reveal.

40 seconds end to end on Vercel, with a timeline that shows the work as it happens.

A food safety plan where every priority action points back to the non-compliance it resolves.

What we learned

With regulated domains, the value is not in the model but in what you refuse to let the model decide. Deterministic rules for limits and verdicts made the output trustworthy; the models made it readable and complete.

Big reasoning models are excellent judges when the reference is explicit and the evidence is pre-qualified. Ultra never needed a second attempt in dozens of runs.

Prompting a vision model to look for a list of anomalies makes it find them. Calibration instructions matter as much as the list.

What's next for Argus

Sector packs: butchers, bakeries, caterers, school canteens each have their own grid and limits the reference file is the only thing to change.

Recall alerts: cross the operator's product families with the official recall feed (RappelConso) in the report.

Follow-up mode: re-inspect after the 30-day plan and show the grade moving.

Nemotron Nano Omni for perception and audio the day it lands on Token Factory the pipeline is already shaped for it.

Built With

  • nebius-token-factory
  • next.js
  • nvidia-nemotron
  • openai-sdk
  • react
  • server-sent-events
  • tailwindcss
  • typescript
  • vercel
  • web-speech-api
  • zod
Share this project:

Updates

Submission history