Dan
Noble

UNSW jsPsych Experiments

Behavioral Neuroscience Platform

jsPsych JavaScript Behavioral Research Docker
View on GitHub Live Demo

Overview

Project Planets is a sophisticated JavaScript-based web application designed for conducting research on decision-making, risk assessment, and learning patterns. It presents an interactive space-themed environment where participants engage with different planets to earn rewards while managing the risk of pirate attacks.

Built using the jsPsych framework and deployed with Docker, the application provides a fully configurable platform for psychological research with detailed data collection capabilities. The experiment guides participants through multiple phases with varying reward-punishment contingencies, systematically revealing how people adapt their behavior based on experience.

Challenge

Developing this behavioral experiment platform required solving complex technical challenges:

  • Creating an engaging interactive environment while maintaining scientific control and experimental rigor
  • Implementing precise timing mechanisms for stimulus presentation and response measurement
  • Designing a probabilistic reward system with carefully calibrated parameters
  • Developing custom plugins extending jsPsych for specialized experimental requirements
  • Ensuring consistent cross-browser and cross-device behavior
  • Creating a flexible architecture allowing researchers to modify parameters without coding knowledge

Approach

My solution combined software engineering best practices with deep understanding of behavioral research requirements:

  • Built a modular architecture using JavaScript and jsPsych as the foundation
  • Developed custom jsPsych plugins for specialized functionality, including:
    • Planet response plugins handling interactive game mechanics and data collection
    • Inference check plugins for measuring participants' understanding of relationships between stimuli
    • Custom triangle slider for innovative ternary choice data collection
  • Implemented comprehensive deployment system with:
    • Cloud-provider flexibility with easy installation
    • Secure SSL/TLS encryption for participant data
    • Integrated storage through JATOS research platform
  • Created thorough documentation for both researchers and developers
  • Designed flexible configuration system allowing parameter modification without code changes

Demo

The Project Planets experiment follows a structured flow designed to measure how people learn from experience and adjust their behavior:

Experiment Flow

  1. Phase 1: Participants interact with planets to earn rewards, learning the baseline reward probabilities for each planet
  2. Assessment: Participants complete valence and inference checks to measure their current understanding
  3. Phase 2: Ships are introduced that can attack and reduce points, creating a risk-reward tradeoff
  4. Assessment: Further valence and inference checks to measure updated understanding
  5. Phase 3: Participants are explicitly told the contingencies between planets and ships
  6. Final Phase: Behavior is measured to see how explicit knowledge affects decision-making

Outcomes

Technical Achievements

  • Successfully deployed as a scalable application usable by researchers worldwide
  • Created reusable components adopted across multiple psychological research projects
  • Developed comprehensive documentation enabling non-technical researchers to modify experiment parameters
  • Built concurrent experiment capabilities with parameter variation
  • Implemented secure data collection meeting strict research ethics requirements

Research Impact

Project Planets has enabled researchers to systematically investigate:

  • How experience shapes risk perception and decision-making patterns
  • Relationships between explicit knowledge and behavioral adaptation
  • Individual differences in learning patterns and risk tolerance
  • Effects of varying reward schedules on participant behavior

The platform has contributed to published research in cognitive psychology and has been cited in studies examining probabilistic learning and decision-making under uncertainty.

Skills Demonstrated

  • Advanced JavaScript development
  • Custom plugin development for jsPsych
  • Research-focused web application development
  • UI/UX design for psychological experiments
  • Data collection and management systems
  • Technical documentation for diverse audiences
  • Interdisciplinary collaboration with research scientists