Skip to content

Photo checks

Photo checks tell you whether a piece of work was done right, from the photos your users take of it. Your app sends each photo as it is taken. Sight checks it against a template, the list of things that must be true for that kind of work, and answers with a verdict, every check's outcome, and what is still missing, in words you can show to the user.

graph LR
  A[User takes a photo] --> B[Your app sends it to Sight];
  B --> C[Model finds things, rules judge them];
  C --> D[Verdict + what is still missing];
  D --> E[Your app shows it, or Sight sends it to your app];

The words used

Word Meaning
Template The checks for one kind of work, e.g. site-completion. Set up for your account; each version is frozen once written, so a past verdict can always be explained.
Job One piece of work: a task, an order, a visit. You name it with your own id (jobId), and it is opened the first time you send a photo for it.
Photo One photo in a job, named with your own id (photoId) so a resend is harmless and you can remove it later.
Slot Which photo this is, as the template names it, e.g. front_view or meter_reading.
Check One thing that must be true, e.g. "the meter shows a reading in range". Each has an outcome.
Verdict The job as a whole: pass, fail, needs_review or incomplete.

Outcomes

Outcome Meaning
pass Seen and right.
fail Seen and wrong. The check's ask says what the user should do about it.
needs_review Could not be decided with enough confidence: a person should look.
not_assessable The photo was there but could not be used for this check, e.g. too small or too dark.
missing No photo yet for this check. Becomes fail once the job is completed.
pending Still being read. Not a call for a person: a later answer replaces it.

Each check carries its evidence: which photo (by your own photoId), which box on it, and what was read, with the reading's source (your device or Sight).

How fast

A photo can be answered in three ways (see Sending photos):

  • At once (async, the default): the photo is taken and checked moments later. Your app gets the result by asking, or by having it sent to your app.
  • Fast (fast): the rules and the model answer in the same call (about a second); checks waiting for a reading say pending until the final answer.
  • Final (sync): the call waits for everything, readings included.

Next