PsyCloud

Experiment Design

PsyCloud separates what trials exist from what a trial looks like. You describe conditions with factors and a transformation pipeline; you describe the display once as a screen. This split keeps designs inspectable and reproducible.

The design pipeline

A trial phase generates its trials by transforming factors through ordered steps — the same model whether you build it in Studio's Trial Design tab or in code:

Cross factors into conditions → sample/repeat to a trial count → derive computed columns → shuffle into order, optionally with constraints.

Because each step is explicit, you can see exactly how many trials each produces and what each column resolves to — there are no hidden callbacks deciding trial structure.

Randomization you can reproduce

Randomization is deterministic: it uses explicit, stable seeds, so a participant's sequence can be reconstructed later. Seed per participant when you want each person to get a fresh-but-reproducible order:

shuffle(seed = seed_per_participant("my-study"))

Counterbalancing

Between-subject assignment is declared, not left to chance. Declare between-subject factors and an assignment policy so participants are allocated to conditions in a balanced, auditable way (between_subjects(...) with an assignment such as a balanced rotation). Counterbalance policies are part of the bundle and validated at preflight. See Counterbalancing & Assignment for the full how-to.

Start from a paradigm

PsyCloud ships a library of runnable paradigms (Stroop, Flanker, Go/No-Go, N-Back, visual search, recognition memory, and more) you can load from New Study → Load from an example in Studio, or copy from the SDK example studies. Adapting a known-good design is faster and less error-prone than starting blank.

Next