Documentation
Prototypes
A testable project object — app, flow, dashboard, cards, comparison, model or journey — that Sonaloop can run, render and connect to sessions.
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- Design-system context — tokens, fonts, radius, spacing, density, chart colors and optional logos dynamically come from the active workspace or the Sonaloop default
- 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" } ] }
]
}