Prototypes

A runnable mock — from a rough sketch to a polished build — that personas actually click through and react to.

Why it matters: Grounded reactions to something real, not a description — you see what works before you build.

What it holds

  • Name + version + tags (fidelity, e.g. lofi/midfi/hifi)
  • path / entry / run — how the runnable build is launched
  • Optional link to the project + the note it was built from
  • A session is a persona using it — as statements, grounded in observed prototype states

Data shape

A real, trimmed record (stored as JSON):
// the prototype artefact
{
  "id": "proto_5d…", "slug": "weekly-planner-v2",
  "name": "Weekly Planner", "version": "v2", "kind": "web",
  "path": "prototypes/weekly-planner-v2/", "entry": "index.html",
  "run": "static", "tags": ["midfi"]
}

// a proband session = a persona actually using it
{
  "persona_id": "persona_7f3…", "prototype_id": "proto_5d…",
  "statements": [
    { "persona_id": "persona_7f3…", "text": "I clicked Add task and got a blank screen.",
      "stance": { "value": 1, "label": "conditional" },
      "refs": [ { "kind": "prototype_state", "text": "after Add task → empty state" } ] }
  ]
}

What it's made of

Composed from the shared primitives:

The prototype itself is a Node; its sessions are Statements grounded in prototype_state refs (a reaction with no matching observed state is rejected).

open
New here? Take the 60-second tour.

Feedback

Sent along, transparently: Page · Version 0.2.0

Or open a GitHub issue ↗