Roamler Internal Platform
You are not authorized.
FocusReview is an AI-powered review engine for Roamler Focus submissions. It automatically analyses crowdworker photos of supermarket shelves and decides whether to approve a submission or escalate it for human review.
Roamler sends a SubmissionStateChange event when a submission is ready for review.
The webhook endpoint is:
Configure this URL in the Roamler webhook settings for the SubmissionStateChange event type.
The engine filters on internalState: "Submitted" and ignores all other state changes.
Expected payload:
The engine fetches the full submission from the Core API (questions, answers, photos, GPS coordinates) and groups the photo questions into rayon groups — one per shelf section. Optional sections (MEA, promo displays, "allée centrale") are excluded from mandatory checks.
Pre-computed from 1,750 historical submissions (1,500 approved + 250 rejected) across 262 rayon types. For each rayon, the engine compares the number of photos against what approved and rejected submissions typically have. This benchmark context is also passed into the Vision AI prompt so it can make informed completeness judgments.
| Signal | What it means | Confidence |
|---|---|---|
| Photos ≥ approved avg | Normal coverage | Pass |
| Photos < 35% of avg | Significantly below normal | 0.75 |
| 0 photos, avg ≥ 2 | Entire section missing | 0.90 |
| Photos ≤ rejected avg | Matches rejection pattern | 0.80 |
| Check | Triggers when |
|---|---|
| Devanture missing | No storefront photo |
| Empty mandatory rayon | 0 photos for a section with ≥5 photo slots |
| GPS > 2km | Almost certainly wrong store |
| GPS > 1km | Likely wrong branch |
| ≥3 unanswered questions | Missing mandatory answers |
| >70% negative answers | Suspicious answer pattern |
Photos are batched per rayon group (3–7 images per call). The AI evaluates five criteria, calibrated against real customer feedback themes:
Individual checks may not be confident enough alone. When 3 or more medium-confidence signals co-occur (e.g., low photo count + unanswered question + weak benchmark), the submission escalates.
| Decision | Criteria | What happens |
|---|---|---|
| Approve | No serious failures, combined signals < 3 | If Auto-Submit ON: sends approval to Roamler. If OFF: logged only. |
| Escalate | 1+ serious failure OR 3+ combined signals | Left for human reviewer. Dashboard shows which checks failed and why. |
| Toggle | What it does |
|---|---|
| Review Engine | ON: incoming webhooks are processed. OFF: webhooks are stored but not analysed. |
| Auto-Submit | ON: approved submissions are POSTed to the Roamler review API. OFF: shadow mode (log only). |
When auto-submitting, the engine sends French review messages:
For escalated submissions, the dashboard shows the specific issues found, e.g.: