Labs

Lab 03 jev · canvas · simulation

Jev moves a crowd

Building

A plaza with 1,000 people, each with a one-line biography. Type what just happened and a decision model decides, one call per person, who runs, who films and who steps in. No rules were written.

try

waiting

reached
0
calls
0
cached
0
time
cost
$0.0000

click where it happens

See one of the thousand calls, exactly as the server sends it
POST /api/labs one person jev · × 1,000 people
{
  "state": "Liam, 24, poet, with a bandmate, about to propose, anxious, wants to be famous, is a hopeless romantic",
  "questions": {
    "reaction": {
      "type": "choice",
      "instructions": "Something just happened in the plaza: \"the lights go out\". What does this person do next?",
      "criteria": {
        "flee": "gets away from it as fast as possible",
        "approach": "moves closer to see what is going on",
        "film": "pulls out the phone and records it",
        "help": "steps in to help or intervene",
        "celebrate": "cheers, dances or happily joins in",
        "ignore": "keeps doing what they were doing"
      }
    }
  }
}

The state is one biography and reaction is the only question, so the answer is a label plus a probability for each of the six. Before the fan-out, one more call reads the event itself to pick the scene:

{
  "state": "the lights go out",
  "questions": {
    "effect": {
      "type": "choice",
      "instructions": "Pick what best describes the atmosphere this event creates in a crowded plaza",
      "criteria": {
        "dark": "the plaza goes dark or the lights go out",
        "rain": "rain, storm or bad weather",
        "danger": "violence, fire, police, a crash or a medical emergency",
        "party": "music, a celebration, free stuff or a celebrity",
        "calm": "nothing dramatic, a small everyday thing"
      }
    }
  }
}

Both go through the same jev.classify() helper from Lab 02, with concurrency 64, a cache keyed by person and event, and a timeout per call so one slow answer never stalls the square.