Carrier Log in

Updates

What changed, and when

Added

4
Balance a baseline attitude across conditions

A new tutorial shows stratified randomisation. A pre-survey rating puts each participant in a band, and Carrier balances the conditions in each band.

More work for a connected AI assistant

An assistant can now change an active or paused study before Go live, and it can set the study status. Two new tutorials show how to connect Claude Code or Codex and how to build a simple study with an assistant.

The builder tells you when it is offline

The builder checks its connection. When the connection stops, it shows a notice before you press Save.

A notice on small screens

On a phone-width screen the builder shows a notice. Use a larger screen to build a study.

Changed

3
Only models with a price

The builder lists a model only after the model has a price. Carrier reads new prices from the provider and the administrator approves them.

The guide and the tutorials in plain English

The Researcher's Guide and all tutorials now use short, simple sentences. Section 7 is now "Your account".

Terms of Use 1.1

The Terms of Use and the Privacy Notice changed. You accept version 1.1 when you next sign in, and the consent page lists the changes.

Fixed

4
Survey edits in the full-screen editor are saved

Changes made in "Open editor & preview" for a global or chamber survey were not saved. They are saved now. A survey pasted as one JSON object is also accepted.

The builder in a small window

The builder works again in a window of 900 px or less.

Participants at the matching step

The participant page no longer fails at the matching step in some studies.

GPT-6 and Claude Opus 5.5

These models now have correct prices, so agents that use them can run.

Added

6
Connect an AI assistant (preview)

Claude, Claude Code, Codex or ChatGPT can connect to your account through a secure sign-in and build or edit a draft study with you. The assistant reads the study once, changes it, checks it and saves it. It cannot deploy a study, delete one, or change the settings that route participants. Account security lists each connected app, and Disconnect ends it. The administrator turns the connector on after a security review.

History for every study

Carrier keeps a snapshot before each Deploy or Update, before go-live, and before an AI assistant changes a draft. Open History in the builder to restore one.

A consent form in the global pre-survey

A completion condition on the pre-survey can end the run for a participant who declines consent, before any chamber starts.

Prolific IDs in the export

Carrier records STUDY_ID and SESSION_ID from the Prolific link next to the participant's PID.

Warnings when you save

Deploy and Update now warn about a reasoning model with a low token limit, an unknown model id, an agent with no API key or credit, a time that looks like seconds, and a redirect that is not set.

Thirty new tutorials

Walkthroughs for the builder basics, each segment type, social feeds, roles, variables, piloting, the export, Prolific, consent forms and the AI assistant. The tutorial page filters by topic.

Changed

3
Saves are version-checked

When a study changed elsewhere, for example by a collaborator or an assistant, the builder tells you and asks you to reload instead of writing over the change.

Builder dialogs match the rest of the builder

The trigger editor and the other dialogs use the same look as the builder pages.

Registration notices go to the admin mailbox

A new registration request is sent to the administrator mailbox only.

Fixed

4
Export and import keep every setting

An exported study now holds all of its settings, so Import then Save no longer removes any.

Copies keep their links

Duplicating a chamber or a chamber line keeps its chat unlocks and trigger scopes.

Dashboard counts

Early exits and screen-outs no longer count as completed runs.

Agents and surveys in the builder

Editing a scripted agent keeps it scripted, human slots in the cast keep their names, global surveys built in the visual editor are saved, and the Feed Builder no longer loses what you type after a field edit.

Security

1
Participant pages are hardened

Text that researchers write is cleaned before participants see it, every library loads from a pinned copy, survey redirects accept http and https only, and embedded pages load from http(s) or the same site only.

Added

10
Shop segment (testing)

A mock online store — Marketplace or Bargain look, your own store name — where participants search, filter, open product pages with photos and scripted reviews, fill a cart and must check out to continue. An optional budget can block over-budget orders, and every order is priced and stored by the server. Build it in the Store Builder or import products and reviews from a spreadsheet. The segment is marked Testing in the builder: pilot a shop before running a study.

AI shop assistant and buyers who answer questions

Bind a chamber agent as the shop assistant in a chat drawer that knows the catalogue, the product being viewed and the cart, or as a reviewer who answers participants' product questions and review replies as an ordinary buyer, optionally after a delay. Each agent sees only its own conversation. The builder warns that undisclosed agent reviewers need ethics cover and a debrief.

Change the shop while it runs

Schedule changes to stock, prices, badges, products and reviews on the segment clock, or make them live from the dashboard for everyone in a chatroom or one shopper. A change can skip shoppers who already have the item in their cart; their order line is marked locked in the export.

Everything in the shop is recorded

Searches, filters, which products were shown and where, product pages and dwell time, reviews read, questions, assistant chat, every cart change, every shop change each shopper saw, and the order — exported as Shop Orders, Shop Actions and Shop Events, with eight variables per shop for later segments and prompts.

Shopping page demo on the front page

Try a £60 earbuds shop with an AI assistant and a scheduled price drop from the Live demos section.

Hand an experiment to a collaborator

Make owner moves an experiment to one of its collaborators, and collaborators can now run the study with its owner.

Researcher controls in the chatroom view

Move a chatroom on from a Host-mode segment and send an announcement into it from the dashboard.

Help where you work, and a start-up tour

Help menus on the dashboard, the experiment page and the builder link straight to the relevant part of the guide, and a short tour introduces each for new accounts.

More tutorials

Walkthroughs for social feeds, running and sharing a study, group composition, AI processing and the three building blocks, alongside three shopping tutorials.

Agents in task segments

A trigger can answer a task segment for an agent, so agents take part in custom tasks too.

Changed

2
Archive and activation checks

Experiments can be archived from their card, and activating an experiment now runs the builder's checks first so an empty or broken study cannot go live.

Guide sections match the platform

The Roles, Variables and Triggers sections of /docs now describe exactly what exists.

Removed

1
Controls that did nothing

Pause / Resume participant, the sequence and discussion-phase trigger types, the Custom LLM provider option, Max Messages and a few legacy trigger settings were removed; they were saved but never acted on.

Fixed

3
Triggers and variables behave as documented

Priority, cooldown, max fires and chaining now apply on every path, mediator triggers work, group-composition rules count the right variable, and global pre-survey answers reach the run.

More reliable matching and chambers

Satisfiable queues no longer give up, chamber skips are not lost, and embedded and process segments run where they were skipped before.

Exports and the dashboard

Face-monitoring events and chat metadata are saved, CSV dates are no longer over-quoted, and "Observe live" works for researchers.

Security

2
Less shared with participants

Survey-mode attention checks are graded on the server, chamber skips are decided by the server, and task and social submissions are no longer broadcast to the room.

Staff account safeguards

Role changes need explicit confirmation, rejecting a registration needs a fresh second-factor code, and super administrators are told when one of them is deactivated.

Added

25
Social media feed segment

A mock feed in Instagram, Facebook or Reddit-style layouts. Posts and comments are authored in the Feed Builder or imported from a spreadsheet, can unfold over time, and draw on a per-experiment image library. Participant comments are answered in persona by agents bound to feed accounts, with optional reply delays, and every like, vote and comment is recorded.

Human mediator

A person can run a chamber's mediator role in the browser with the same controls as an AI mediator: broadcast to everyone, prompt one participant, and pause or re-enable a participant's chat, all from a live message log.

Live observation

An Observe live link on the dashboard opens a read-only view of any active chatroom for the experiment's owner and collaborators. Each viewing session is recorded.

Variable system

Per-participant variables — constants, survey answers, random or counterbalanced conditions, formulas, live chat content and LLM-processed values — referenced with {{ }} in instructions, agent prompts, bot scripts, matching rules and chamber visibility. A visual editor builds formulas and When → then rules without hand-written JSON.

Assign conditions and match participants on variables

Chamber lines can be assigned from a participant's variable, and chamber slots can require a variable value, so a pre-survey answer or a counterbalanced draw decides who meets whom.

Slide decks

A slide segment is now a deck of slides built from headings, Markdown, images, video and HTML, with a per-slide layout and minimum dwell time. Time on each slide and revisits are exported.

PDF reading, highlighting and notes

A PDF segment can host its own document, stand alone or sit beside a live chat, and records a reading trace. Participants can highlight and annotate a hosted document, optionally sharing their marks with the rest of the chamber.

Custom tasks and jsPsych

A task segment can embed researcher-written HTML or an existing jsPsych task, pass variables in, and return its results as variables for later segments.

Participant integrity checks

Three motion-based CAPTCHAs (Spooky Circle, Trajectory Recovery, Red Dot) join camera liveness as attention-check modes. Try them at /demo/integrity.

Embedded, chained and conditional segments

Several cards can run inside one chat segment, one after another, with their own size, pinning and Continue button. A card can be shown only to participants whose variables match, and the chat can end when the last card completes.

Participant debrief

One Markdown debrief, written in global settings, is offered to every participant on every exit path — completion, attention-check failure, no match and termination — without holding up the completion redirect.

Playtest and live validation in the builder

Step through a chamber line in the builder with live surveys before recruiting anyone. The builder checks the design as you edit and flags segments that cannot end, triggers that cannot fire and settings that contradict each other.

Test LLM Connections

One click tries every AI configuration in the experiment before launch, surfacing missing keys, unknown models and empty or truncated replies up front instead of mid-study.

Live model catalog

Model lists refresh daily from OpenAI, Anthropic and Google, so newly released models appear in the builder without an update.

Carrier credit for platform-funded models

Where an administrator has assigned Carrier credit, agents, the builder assistant, Test LLM Connections and the annotator can run without your own API key. Your balance, thirty-day spend and a per-experiment breakdown are shown on the dashboard, with alerts when credit runs low.

Dashboard alerts that stay

Disconnects, long waits, drop-outs, provider outages and low credit pop up while you watch a study, and past alerts are kept in an alert centre.

Progress funnel and live counts

The experiment dashboard shows how many runs reached each phase, and each experiment card shows its live counts and when it was last updated.

Richer exports

Exports now include survey answers from every stage, participant variables, selection, ranking, slider and task submissions, per-participant timing in each chatroom, empty-discussion flags and refused agent turns.

Participant limits you can see

Each researcher account has a live-participant cap and weekly, monthly and yearly allowances. The dashboard shows where you stand, and a new participant who would pass a limit sees a clear "study busy" or "study full" page.

Second factor for staff accounts

An authenticator-app code with eight backup codes, managed from a new Account security page. Sensitive admin actions ask for a fresh code.

AI annotation at scale

Annotate CSV datasets with language models using codebooks drawn from published research. Compare providers under one prompt, repeat rows to check consistency, and preview the cost on a sample first.

Carrier Workspaces

Bring a team's Claude Code sessions into one shared workspace, linked to a GitHub repository or uploaded from each machine, so how a study was built stays reviewable.

Markdown in chat

Agent and participant messages render Markdown, including highlighted code blocks, in the experiment, dashboard and workspace views.

Tutorial and Updates pages

Walkthroughs that carry one design from an empty builder to a session you can join live at /tutorial, and this release log lives at /updates.

Drawn avatars

Participants pick from sixteen drawn faces, and agents get screen faces of their own. Avatars chosen before this release still display.

Changed

7
Survey-based condition assignment is now variables-based

The survey-based chamber-line assignment method was replaced by assignment from a variable. A variable built from the survey question gives the same result and can also be random or counterbalanced.

Fairer counterbalancing

Counterbalanced conditions balance against the participants currently waiting, weighted by how many seats each condition needs, rather than every past participant, so drop-outs and finished runs no longer skew the next assignment.

A rebuilt builder and dashboard

The experiment builder, Script Builder, Variables manager and Feed Builder were each reorganised into a single workspace, and the dashboard fits on one screen with a light theme and a new look shared across Carrier.

Researcher's Guide rewritten and paged

The guide at /docs is organised around chamber lines, roles, variables and triggers, split into pages, illustrated with walkthrough clips and screenshots of every segment type, and readable on a phone.

Longer grace for dropped connections

A disconnected participant now has five minutes by default to come back before being counted as dropped, and the grace period can be set per experiment.

Segment advance notices

When a participant moves on to the next segment, their partners see a notice in the chat instead of silence.

Chat message length is capped

Participant chat messages are limited to 1,000 characters by default, adjustable per experiment up to 10,000.

Removed

1
Controls that did nothing

Several builder settings that were saved but never acted on were removed from the selection, ranking, survey, timer and media segments, so every control left does what it says.

Fixed

9
Survey answers saved at every stage

Chamber pre-survey and global post-survey answers are now stored and exported, a survey that times out keeps what was already typed, and a submission can no longer be saved twice.

More reliable matching

Participants are no longer matched twice in one chamber, pulled into a room of the wrong size or across chamber lines, or left waiting after a refresh on the matching screen. A partner who never arrives no longer strands the other.

Reconnecting mid-study

A participant who reloads or reconnects returns to the right chamber and segment with timers, Continue buttons, feeds and agents intact.

Agents that stopped replying

LLM agents on reasoning models no longer fall silent after their first reply, agent failures no longer crash the server, and bots keep their memory and trigger counts across a server restart.

Selection, ranking, slider and input segments

Group segments wait for every communicator before advancing, answers left untouched are still recorded, and length limits, required answers and validation patterns on input segments now work.

Timers

Countdown formats work, later timers in a chamber no longer start partly spent, and timers stay accurate in a background tab.

Large experiments

The experiment dashboard loads quickly and data exports complete on large studies instead of running out of memory.

Export and import round-trips

Exported experiments now include variables, prompt variables and redirect URLs, so importing one gives back the same study.

Builder work lost after a session expired

Saving after 30 minutes idle no longer fails with a vague network error while your changes look saved. The builder says your session expired and walks you through keeping the work: export a backup, sign in again, save.

Security

5
Participants cannot be impersonated

Each participant's live connection is tied to the browser that started the run and to a private credential, so knowing someone's participant ID — a recruitment ID, or a partner's ID seen in chat — no longer lets anyone act as them.

Experiments are visible only to their owners and collaborators

Every dashboard, export and live-session endpoint now checks experiment ownership, and ordinary administrators no longer see other researchers' experiments or credit.

Account and session protection

Cross-site request forgery protection on every form and action, a Content-Security-Policy, rate limits on sign-in and recovery, and sessions that end when a password, role or second factor changes.

API keys kept out of reach

Stored provider keys are encrypted, never copied into saved records or request URLs, and cleared from memory when an agent stops.

Nightly backups

The database is backed up every night, and a monthly drill restores the latest backup to prove it works.