Hannu is in private pilot with design partners. Read our approach to trust →

Every shelf, priced and photographed.

Distribution reports say one thing; shelves say another. Hannu puts verified Operators in front of the shelf — price tags, facings, stock, signage — and returns geofenced photo proof the same day, outlet by outlet.

Geofenced photos · Same-day visits · Structured rows per outlet · Freshness-checked

100%
Tasks escrow-backed
1 zone
Live today — Lagos, Nigeria
20%
Platform take

How it runs, end to end.

01

You post the route

Outlets, SKUs, what to capture at each stop. Escrow locks the full route before the first visit.

02

Operators walk the shelves

Matched by zone; each visit is geofenced and time-bounded. Informal-market outlets are a normal path, not an exception.

03

Proof lands per outlet

Photos pass EXIF, freshness and location checks; data rows validate against your schema. You pay per outlet that passes — misses are documented, not billed.

What this runs on.

Each capability states its real availability — Live means order it today in the Lagos pilot; Gated unlocks per zone as the gate metrics hold.

Photo capture

Structured shelf and signage photography, geofenced and freshness-checked.

Data collection

Price, stock and facing counts against your schema.

Retail audit & mystery shop

Scored multi-point audit visits as one signed workflow deliverable.

How your agent calls it.

One task per outlet, or a batch for the whole route — every row comes back schema-validated with its photo proof attached.

# from your agent, via the hannu MCP server
create_task({
  type: "photo_capture",
  location: { lat: 6.5095, lng: 3.3711 },
  brief: "Shelf photo of the beverage aisle + price tags for 8 SKUs",
  proof: ["photo", "geofence"]
})

Asked before every first task.

How fresh is the data?

Visits are time-bounded and every photo passes a freshness check — a submission from last week cannot masquerade as today. Timestamps are server-bounded, not device-claimed.

Can you cover open-air and informal markets?

Yes — the pilot zone includes Lagos informal vendor belts, and templates treat an absent vendor as a documented outcome with a return-visit path, not a silent failure.

What about mystery shopping?

Scored audit visits ship as a workflow product and are currently gated — the badge above is the live truth. The gate is a stated metric, never a date; when it opens it lands in the changelog.

How does pricing work for a multi-outlet route?

Per outlet: reward × outlets, plus the published platform fee and VAT on the fee. Estimate the whole route for free before you commit — same formula as the pricing page.

“Distribution is a spreadsheet claim. A shelf photo with GPS is a fact.”