An experiment is something you are probably already familiar with - a static folder with html, css (style) and probably javascript (js) files that when run with a webserver can show stimuli and collect responses. This is the new bread and butter of research in behavioral science, and so the experiment factory is optimized to deploy this kind of experiment. Here we will talk about the various options you have for experiments:

  • Library You can use any of the library of experiments we’ve already built.
  • LabJS is an awesome web interface builder that will export an experiment folder
  • Custom means creating and deploying your own experiment, either from scratch or starting with another as a template.


If you don’t want to develop your own experiment, you can use any number of experiments, surveys, or games from the expfactory library. Once you have selected an experiment that you like, simply add it’s unique id (called an exp_id) to the experiments.txt file in the base of this repository. The experiment will be installed into your container.

Here is an example of an experiments.txt file

stroop tower-of-london


You can use the LabJS builder and select the Experiment Factory export option. You can then extract the finished experiment into a subfolder of experiments also in this repository. For a full tutorial, see this page.

Custom Experiment

If you want to develop your own experiment, see the complete documentation for how to do this. You will want to do the following:

  1. Develop the experiment locally, per the instructions above.
  2. Clone this repository, and add your experiment folder under the experiments folder.

and then continue on to connecting your repository to CircleCI and Docker Hub.


Here are a few examples of what various set ups can look like:

Frequently asked Questions

Can I install local and library experiments?

Yes, of course?

What should I do next?

Once you get here, you should have a cloned builder repository with experiments listed in an experiments.txt file and/or your own experiment folders in an experiments folder within. Once you are done with this experiment definition, you should move on to connect to testing where you can build and deploy your container.