Concepts

From lab.js to Open Lab.

Build your experiment in lab.js, export it in one click, and it lands in your task library — versioned, reusable, and ready to attach to any Study.

Build → Export → Attach

Build01

Design in lab.js

Visual builder, arrange screens, trials, randomisation. Preview locally as you go.

builder.open-lab.online
fixation
trial
debrief
Visual builder
Export02

Send to Open Lab

Click Export to Open Lab — JSON lands in your task library, versioned automatically.

⚡ Export to Open Lab→→{}stroop-task.json
One click
Attach03

Use in a Study

Select a task when configuring a Study. Pin to a version. Reuse across many Studies.

{}stroop-taskv2.1 · pinned
{}stroop-taskv2.0
{}demographicsv1.0
Versioned reuse
Task library

Each export becomes a Task with a name and version (e.g. stroop-task v2.1). Many Studies can reference the same Task — upload once, run anywhere.

Where things live

lab.js builder · builder.open-lab.online
Task library · your account
Study builder · attach & pin
Reusable

Upload once, run anywhere.

One export, many Studies — same paradigm across samples, languages, or replications.

  • Reference the same Task from any number of Studies
  • Edit copy or stimuli in the Study without touching the Task
  • Tasks are scoped to your account, not a single Project
Versioned

Every export is a snapshot.

Studies stay pinned to the version they enrolled on, so analyses always match the protocol participants saw.

  • Pin a Study to a specific Task version
  • Bump the version when you re-export from lab.js
  • Old versions remain available for reproducibility
Round-trip

Load back into the builder.

Open any stored Task in lab.js directly from Open Lab — no copy-pasting JSON or file juggling.

  • Edit, re-export, and the new version slots in beside the old one
  • Diff between versions before publishing
  • Share the Task source with collaborators