Participation details
Use the Participation page to review one completed session. Open it from Dashboard > a study's Participations list. A Back to study link at the top of the page returns you to that participations list at any time.
Tabs
| Tab | Description |
|---|---|
| General | Edit the participant ID, add Researcher Notes, and manage Labels. A camera preview appears when available. |
| Markers & Transcriptions | Play camera/screen recordings, review markers and transcription segments on an interleaved timeline, create and edit manual transcriptions. |
| Timeline | Visual timeline of analysis tracks (transcription, emotion, gaze) alongside task boundaries. |
| Analyses | Manage and run analyses (transcription, emotion recognition, etc.) for this participation. |
| Scoring | Review what each task collected, side by side with its transcript and markers, and record your own custom metrics per task. |
| Export | Download data in various formats (CSV, JSON, VTT) and media files (MP4). |
Editing participant details, notes, labels, and markers requires Analyst or Editor access. Viewer access is read-only.
Saving your work
Everything you edit on this page (researcher notes, labels, participant ID, custom scores and markers, and manual transcription) is saved together with a single Save button in the page toolbar. Changes are no longer saved automatically as you type.
- The Save button is enabled only when you have unsaved changes, and an Unsaved changes indicator appears next to it.
- While saving, the button shows Saving… and then confirms once your changes are stored.
- If you try to leave the page or close the browser tab while you still have unsaved changes, you are warned first so you do not lose work.
A single Save commits all your edits across every tab at once, so you can move between General, Markers & Transcriptions, and Scoring and save everything together when you are done.
Version history and restoring
A History button in the toolbar opens a panel listing every saved version of this participation, newest first. Each entry shows when it was saved, who saved it, and which parts changed.
The study owner can select any earlier version and click Restore to put those values back. Restoring keeps the current values in the history as well, so nothing is lost and you can always return to where you were.
Collaborators who are not the study owner can open the History panel and review past versions, but they see a note that only the study owner can restore a version.
Seeing who else is here
When other members of the study team have this same participation open at the same time, their initials appear in the toolbar under Also viewing. This helps you coordinate so two people do not edit the same thing at once.
If you open the same participation in more than one browser tab yourself, a small notice warns you that saving in one tab may overwrite what you changed in the other. Work in a single tab to be safe.
Markers & Transcriptions
This tab combines video playback with an interleaved markers/transcription timeline.
Recording view modes
When screenshare recordings are available, toggle between:
- Camera — camera recording only
- Screen — screenshare only
- Camera anchor — camera primary, screenshare below
- Screen anchor — screenshare primary, camera below
Markers & transcription timeline
The toolbar provides:
- System markers toggle — show/hide automatically generated markers
- Transcriptions toggle — show/hide transcription segments
- Per-source columns — each AI transcription source appears as its own read-only column, shown alongside your manual transcription
- List / Timeline toggle — switch between flat list and time-proportional views
- Follow playback — auto-scroll to keep the playhead visible
- Add marker — place a new marker at the current playhead position
In Timeline view, use the mouse wheel to zoom in/out and the +/− buttons in the top-right corner.
Marker pairs following the Label_start / Label_stop naming convention are linked with a purple connector line in the timeline view.
Hover a marker to see its name with a click for more info hint; click the marker to open a details panel with its full information (category, time, and the values it recorded), where image file names are shown in a readable form instead of long internal paths. The same details panel opens whether you click a marker here or on the Timeline tab. Clicking a pointer, scroll, or gaze activity band opens a similar summary of what happened during that slice, such as the pointer's bounds and last position, or the range of gaze positions.
Copying markers and segments into your own columns
The System markers column and each AI transcription source column are read-only. To reuse their content in your own editable columns:
- Hover a single system marker or segment and click the → button to copy just that item into your markers or transcription.
- To copy a whole column at once, use the Copy → control in that column's header: it copies every system marker into your markers, or every segment of that transcription source into your manual transcription. You are asked to confirm, and any items that already exist in your column are skipped.
Gaze overlay
When the participation includes a screen recording and the WebGazer artifact is present, a Gaze toggle appears in the recordings toolbar. Turning it on draws a fuzzy dot with a short fading tail over the screen video, tracking the participant's gaze across the playback. The dot is intentionally soft because WebGazer is only accurate to roughly 100 to 200 pixels after calibration.
The overlay is available for any participation that uploaded gaze samples — you do not need to run the WebGazer analysis first.
If the participant chose "Entire screen" or "Window" instead of "This tab" when sharing their screen, the overlay falls back to a muted appearance and displays an Approximate position badge. In those cases the participant's viewport may be only a sub-region of the recorded frame, so the dot's coordinates may drift from the actual gaze point. Tab sharing produces the cleanest alignment.
Gaze timeline tracks
The Timeline tab includes a default-on Gaze density track that shows when gaze samples were collected. Two optional tracks — Gaze X and Gaze Y — can be enabled from the track-visibility menu to inspect horizontal/vertical gaze position over time. Values are expressed as percentages of the participant's viewport. Clicking on a segment of the Gaze density track opens a details panel with the sample count and the on-screen area the gaze covered during that segment (minimum, maximum, and average position).
The Gaze track only appears once the WebGazer analysis has completed and produced usable samples. When it is not shown, a short message above the Timeline explains why: gaze data is not available for this study (no eye-tracking calibration task), the gaze analysis is still processing, the gaze analysis did not finish successfully, or the analysis completed but no usable gaze samples were recorded.
Confidence scores
AI transcription segments that include confidence data display a colored background:
- Green — high confidence (80%+)
- Yellow — medium confidence (50-79%)
- Red — low confidence (below 50%)
The exact confidence percentage appears next to each segment in list view.
Manual transcription
Researchers can create a manual (user) transcription to correct or annotate AI output.
Creating a transcription: Click Add manual transcription in the toolbar. Three creation modes are available:
- Blank — start with an empty transcription
- Copy from source — duplicate all segments from an AI transcription
- Pick segments — cherry-pick specific segments from an AI source
Only one manual transcription is allowed per participation.
Editing: Click Edit transcription to open the editor panel (desktop only). The editor provides:
- Per-segment text editing via textarea
- Timestamp display with Set from playhead buttons (S for start, E for end)
- Split a segment at the current playhead position
- Merge a segment with the previous one
- Insert a new segment after the current one
- Delete a segment
- Undo / Redo (Ctrl+Z / Ctrl+Shift+Z), up to 50 steps
- Unsaved changes indicator that reminds you when edits still need to be saved
Your transcription edits are stored when you click Save in the page toolbar, together with the rest of your changes on the page.
The Unsaved changes indicator in the page toolbar lets you know when you still have transcription edits to save. Click Save before leaving the page, and you will also be warned if you try to close the tab with unsaved work.
Keyboard shortcuts
Available when the editor panel is open:
| Shortcut | Action |
|---|---|
| Ctrl+Space | Play / Pause video |
| Ctrl+Arrow Left | Seek back 3 seconds |
| Ctrl+Arrow Right | Seek forward 3 seconds |
| Ctrl+M | Add marker at playhead |
| Ctrl+Enter | Insert segment at playhead |
| Ctrl+B | Split segment at playhead |
| Ctrl+Z | Undo |
| Ctrl+Shift+Z | Redo |
Click Shortcuts in the editor toolbar to show this reference inline.
Scoring
The Scoring tab gives you a per-task review of everything the session collected, side by side with the transcript and markers for that task, and a place to record your own measures. It sits just before Export in the tab bar.
The tab lists every task the participant completed, in the order they were performed. Each task occupies a row split in two: the scoring card on the left, and a timeline panel (transcript and markers) on the right.
What each task card shows
- Header — the task name, its type and version, and the Start, End, and Duration of the task within the recording.
- Computed measures — the quantities the task itself computed, shown as a Measure / Value / Unit table. This can be empty for older recordings made before a task started producing them.
- Statistics — a read-only Statistic / Value / Unit sheet of simple figures such as the number of trials (or events), response rate, accuracy, and reaction times, plus how much eye-gaze and interaction (pointer, scroll, keyboard) data was captured during the task. Each figure carries its unit (for example
ufor a count,0-1for a proportion,msfor a time); a figure that does not apply to the task is shown as∅rather than left blank. - Trials — expand this section to see a read-only table of the task's trial-by-trial data, with the same columns as the exported responses file, led by a Recording time (ms) column so you can trace any row to the same instant on the recording and in the export. Tasks that present a sequence show one row per item (for example one row per image, or one row per presented word plus one recall row, distinguished by a
typecolumn), matching the per-item segments on the Timeline. - Image sequence visits — for an Image Sequence task where the participant used the Back button to revisit an image, an additional expandable section lists every individual showing of every image (not just the accumulated per-image row in Trials), so you can see the exact back-and-forth pattern: which image, in which order, forward or back, and how long each showing lasted.
- Token Test screenshots — for a Token Test (revised) task, an additional expandable section lists every board-state screenshot with the trial and sequence number it belongs to, why it was captured (a selection, the start or end of a drag, or the confirmed final answer), and whether it is the final screenshot for that trial, next to a thumbnail of the image.
- Files produced — any artifacts the task generated, such as drawings, screenshots, or uploads.
- Custom metrics — your own editable scoring sheet (see below).
Transcript and markers for each task
Beside each task card, a timeline panel shows two scrollable columns scoped to that task's run window:
- Transcription — the spoken-language transcript segments that fall within the task.
- Markers — the timestamped markers recorded during the task, including the task's own start and end.
At the top of the tab, two selectors let you choose the source for each column: System (produced automatically) or User (entered by a researcher). The choice applies to every task at once. The User option is available only when a user transcript or user markers exist for the participation. When a task's timing cannot be reconstructed, the panel shows that the timeline is unavailable for that task.
Custom metrics (your own scoring sheet)
Each task card includes an editable custom-metrics sheet: a small spreadsheet with three columns, Metric, Value, and Notes. It is always shown and starts with one empty row. Type your own custom metrics for that task directly into the sheet, for example a hand-coded rating, a count you tallied yourself, or a note about data quality. Your entries are stored when you click Save in the page toolbar, along with the rest of your changes.
Your custom metrics are included automatically in the exported data. A new scores/researcher_scores.csv (with a .json companion) appears in the download bundle, with one row per metric, joinable to the rest of the export by task. See the Export-files catalog below for details.
Only researchers with edit access can change a custom-metrics sheet. Others see the values read-only.
Export
The Export tab provides a file-tree view of all downloadable artifacts.
Data exports
All timestamps in exported files are recording time — milliseconds from the camera's first frame, matching the on-screen playhead exactly. The manifest.json file tells you whether timestamps are millisecond-aligned (sync_quality: "precise") or best-effort (sync_quality: "approximate").
The README.md inside every export explains the file layout, the time base, and how to join files across tasks using the task_id key.
The Download All button on the Export tab is unavailable while any analysis (transcription, emotion, eye-tracking) is still processing. Wait for processing to finish to ensure the exported bundle is complete.
| File | Format | Description |
|---|---|---|
| README.md | Markdown | Human-readable guide: time base, file layout, join recipe, and grain notes for each task type |
| manifest.json | JSON | Self-describing index: schema version, ids, time basis, sync quality, and a list of files in this export |
| metadata.json | JSON | Participation summary: ids, status, session start/end, duration, how the session ended (end_reason), task count, quality flags, labels |
| study_summary.json | JSON | Chronology of tasks the participant actually ran, in run order. Each entry includes start/end timestamps, trial counts, and the task configuration used |
| data_dictionary.csv | CSV | Six-column data dictionary (Name, Type, Meaning, Unit, Values, Task_Kind) covering every marker, response field, signal field, and analysis field in this export, including task-specific columns |
| codebook.json | JSON | Machine-readable field catalogue derived from the task definitions: every response field with its type, meaning, unit, and the task it belongs to. The same information as data_dictionary.csv, in a form you can load directly into an analysis script |
| markers.csv | CSV | System and task markers with recording-time timestamps. Columns: participant_id, recording_ms, recording_time, task_index, task_id, display_order, task_kind, task_name, marker, scope (system or task), category (the kind of event the marker records, such as trial onset, stimulus, fixation, or feedback), description, data |
| researcher_markers.csv | CSV | Annotation markers you added while reviewing a participation -- manual notes and markers copied from the system timeline. Present only when you have added annotations. Columns: recording_ms, recording_time, name, description, source (manual or copied), origin_task_kind, origin_marker, author_uid_reported, created_at |
| responses/json/<kind>.json | JSON | One file per task type: lossless response records including nested fields (e.g. responses/json/flanker.json). Use this for programmatic analysis or when a task records sub-event detail. |
| responses/csv/<kind>.csv | CSV | One file per task type: flat, spreadsheet-native response table with one row per trial (e.g. responses/csv/flanker.csv). Nested fields are omitted and listed in the README and data dictionary. |
| transcriptions.json | JSON | All AI transcription sources with segments (one file for all analyses) |
| transcription-<name>.vtt | VTT | WebVTT subtitles -- one file per AI transcription, named by the analysis (e.g. transcription-speech_transcription-....vtt) |
| transcription-<name>.csv | CSV | Columns: start_recording_ms, end_recording_ms, text, confidence, author_uid_reported -- one file per AI transcription |
| screen-meta.json | JSON | Screen and viewport metadata with recording-time updates (when available) |
| gaze.csv | CSV | WebGazer gaze samples (when available): recording_ms, viewport x_pct/y_pct, task_index, task_id, and trial-window tags (trial_index, practice_trial_index, is_practice, incomplete_trial) attributing each sample to the trial and phase it fell in |
| interaction.csv | CSV | Pointer, scroll, and keyboard events mapped to recording time: recording_ms, type, x_pct, y_pct, and more, with the same trial-window tags as gaze (trial_index, practice_trial_index, is_practice, incomplete_trial) |
| recordings.json | JSON | Index of all media recordings. The camera entry lists the file name and duration_ms (camera start is always recording-time zero). The screenshare entry lists the file name, overall duration_ms, and an active_intervals array showing the exact recording-time windows when the screen-share was actively capturing. |
| summaries/<task>_<n>.json | JSON | One file per task that produced a behavioral summary (e.g. summaries/flanker_0.json); contains computed measures (accuracy, mean latency, task-specific scores) and per-condition breakdowns. Per-trial rows are in the response files, not here. |
| image_sequence_visits_<n>.json | JSON | One file per Image Sequence task instance (e.g. image_sequence_visits_2.json): every individual showing of every image, reconstructed from the recorded timeline markers. Fields: visit_index, image_index, direction (forward or backward), shown_recording_ms, hidden_recording_ms, viewing_time_ms. Present only for Image Sequence tasks. |
| scores/researcher_scores.csv | CSV | The custom metrics you typed on the Scoring tab. One row per metric, with the task it belongs to, the metric name, your value, and your notes. Present only when you have entered at least one custom metric. |
| scores/researcher_scores.json | JSON | The same custom metrics as researcher_scores.csv, grouped by task for loading directly into an analysis script. |
| data/media/<filename> | PNG/JPEG | Media files produced by tasks whose response is an image (drawing tasks, ladder placement screenshots, board states). These make the bundle self-contained for artifact-is-result tasks. |
Analysis results
Each completed analysis (transcription, emotion, eye-tracking, etc.) can be downloaded as a JSON file named after the analysis — for example eye_gaze-....json for the WebGazer analysis or speech_transcription-....json for the speech transcription. The WebGazer analysis result is separate from the raw gaze_samples.json — it adds detected fixations, per-task heatmap bins, and summary metrics computed by the converter. Researchers usually want both: the raw samples are the audit trail, the analysis result is the processed view.
Media files
Camera and screenshare recordings can be downloaded as MP4 files (H.264 video with AAC audio), which play in any modern browser, media player, or video-analysis tool. Processing is handled automatically; you do not configure the recording format or quality.
Use Download All to download all data files in a single ZIP archive named after the participant's ID (<participant ID>_export.zip, or the system ID when no participant ID is set). The ZIP uses a clean folder layout matching one participant folder in the bulk export:
README.md
manifest.json
metadata.json
study_summary.json
data_dictionary.csv
codebook.json
markers.csv (when log is present)
researcher_markers.csv (when you have added annotations)
responses/json/<kind>.json (one per task type -- lossless)
responses/csv/<kind>.csv (one per task type -- flat spreadsheet)
signals/gaze.csv (when gaze data is present)
signals/interaction.csv (when interaction events are present)
screen-meta.json (when screen metadata is present)
recordings.json
summaries/<kind>_<n>.json (one per task with a behavioral summary)
image_sequence_visits_<n>.json (one per Image Sequence task instance)
scores/researcher_scores.csv (when you have entered custom metrics)
scores/researcher_scores.json (when you have entered custom metrics)
data/media/<filename> (task-response images, when present)
transcriptions.json (when transcription analyses exist)
transcription/<name>.vtt (one per transcription analysis)
transcription/<name>.csv (one per transcription analysis)
analyses/<name>.json (one per completed analysis)
Camera and screenshare recordings are not included in the ZIP because video files can be very large. Download them separately with the Camera and Screen buttons.
The Download All button is disabled while any analysis is still processing. Once all analyses finish, the full bundle including analysis results is available.
Bulk export (multiple participations)
From the Participations list for a study, use the Export button to download data for multiple participants at once. The bulk ZIP contains one folder per participant using the same layout as the single-participant Download All ZIP above.
At the root of the bulk ZIP, a study_manifest.json file lists every included participant (with their folder path) and every excluded participant (with the reason). A participation is excluded when one of its analyses is still processing at export time; re-exporting after processing finishes will include it. A root README.md also explains the bulk layout.
This means you always know exactly what is and is not in a bulk export -- no participation is silently included with missing analysis results.
Eye-tracking results
When the WebGazer analysis has finished for a participation, expand it from the Analyses tab to see:
- A per-task heatmap canvas showing where the participant looked most often.
- A toggleable scanpath overlay drawing the sample polyline (cool to warm hue ramp from start to end) with red circles marking detected fixations — circle size scales with fixation duration.
- A row of six summary metrics: sample count, effective sampling rate, fixation count, longest fixation, percent time fixating, and mean inter-fixation gap.
- An All tasks aggregate panel at the top, plus filter chips to hide/show individual task panels.
Percent metrics are computed over the slice's sample-span (last_ms - first_ms), not the wall-clock task duration, so they will not be inflated by paused/dropped tracking.
The exported data_dictionary.csv lists every marker name used in the session, along with its type, meaning, unit, and values, to help standardize meaning across analyses.
Use consistent marker names across sessions to simplify coding and analysis, for example: instruction start, instruction end, block A start.