Tools & Software

Science is not only a corpus of knowledge, but also a method to continuously strengthen and extend our understanding of the world. As researchers, we often spend large amounts of time grappling with practical issues concerning data collection and processing. One of my great pleasures has been to develop tools that improve the efficiency and quality of scientific practice, breaking new ground with regard to the tools we have available for gathering and analysing data.

The overwhelming majority of the tools described below have arisen from practical questions that fellow researchers and I encountered in our scientific work. I am grateful to have had the opportunity to generalize and make publicly available most of them.

lab.js: Create, run and share experiments in your browser

Data is increasingly collected in the browser, whether online or in the laboratory. This is because browser-based studies offer a wealth of design options and a high degree of flexibility. However, heretofore, browser-based experiments often had to be constructed through manual coding (in contrast to questionnaires, where easy-to-use build tools are readily available).

lab.js changes that by providing a graphical interface for building browser-based studies, making them accessible to experimental researchers. In it, studies can be constructed using HTML alone, allowing for full control over stimulus presentation, while the data collection and storage is fully automated.


Lead developer, with Yury Shevchenko, Ulf K. Mertens, and Benjamin E. Hilbig.

Psynteract: Interactive experiments in standard laboratory software

Many of the outcomes we experience day by day are not only determined by our own decisions, but also by those around us, and other members of society. Researchers in experimental and behavioral economics have long studied these strategic interactions, and the dilemmas that arise when individual and collective interests collide, in the laboratory. This line of research (rightly) carries the strong expectation that the interactions be real rather than hypothetical, and joint decisions consequential. However, the tools psychologists use for data collection are traditionally centered around single-partipant experiments, gathering responses in isolation.

Psynteract bridges the gap between psychological research tools and the requirements of strategic interaction research, extending the flexibility afforded by general-purpose experimental software to paradigms used in this field. It allows participants to interact in real-time over a laboratory network. The tool can be integrated in any Python-based experimental software, but it meshes particularly well with OpenSesame, an easy-to-use graphical experiment builder for laboratory studies. With OpenSesame, interactive studies can be built using drag-and-drop, with little or no additional code.


Lead developer, with Pascal J. Kieslich (OpenSesame binding) and Benjamin E. Hilbig.

Mousetrap: Integrated, user-friendly mouse-tracking data collection and analysis

Mouse-tracking is a method for gaining insight into cognitive processes, and particularly the degree of conflict or certainty associated with decisions. Because it is widely applicable and works well with existing hardware, it is rapidly increasing in popularity. However, data collection and analysis are challenging, and interested researchers have had to implement their own methods for both.

Mousetrap provides stable, easy-to-use data collection and analysis tools for mouse-tracking data. Tracking functionality can be added to any OpenSesame study by drag and drop, without the need for additional code. The resulting data can be imported directly into the R statistical programming language, where the corresponding package provides all necessary functionality for preprocessing, filtering and analysing mouse and movement trajectories. Beyond rock-solid standard analyses, mousetrap also includes several cutting-edge statistical tools that are just an R command away.


Co-developer, in project led by Pascal J. Kieslich and Dirk Wulff, with Jonas M. Haslibeck and Michael Schulte-Mecklenbeck.

PCSinR: Parallel Constraint Satisfaction networks in R


Lead developer, with Daniel W. Heck.

Customized participant panels


Sole developer.