Reps log every store visit from their phone. It syncs to a database on a schedule and becomes the one source everyone reads from — the brand, the distributor, and the invoice. Pick a screen below.
What the brand sees. Visits and installs computed live from the field log, per-rep activity, a clustered activation map, before/after evidence for every install, and competitor shelf presence. 1,420 visits across six weeks.
The same campaign with the commercial layer the client never sees — supplier, visit notes, and the full column set. The split is enforced server-side by a column allow-list, not hidden in the UI.
Sales-side view: visits, CDUs placed, coverage gaps and outstanding orders by rep. Behind a sign-in rather than an access code.
Every placement across the UK on one clustered map. 491 locations, spider-expanding clusters, keyboard navigable.
Single-brand view for field and trade use — 334 locations.
Midlands-weighted distribution — 288 locations.
Yorkshire-weighted distribution — 159 locations.
Before/after evidence is a generated planogram, drawn per visit from its id. Same bay both sides; the after differs only by restock and the installed block.
See one →PostgREST caps an unbounded select at 1,000 rows. The seed is 1,420, so the paging — and its unique sort tiebreaker — is exercised rather than merely present.
The client payload is an explicit column allow-list. Commercial fields cannot leak into it by accident, because they are never selected.