Skip to content

slopit/slopit

Repository files navigation

slopit

CI npm PyPI License: MIT

A modular toolkit for detecting AI-assisted responses in crowdsourced behavioral research.

Overview

slopit provides tools to capture and analyze behavioral signals during text entry tasks, helping researchers identify potentially AI-assisted responses in crowdsourced studies.

TypeScript packages for client-side behavioral capture in web experiments:

  • Keystroke dynamics (timing, patterns)
  • Paste event detection
  • Focus/blur tracking
  • Platform adapters for jsPsych, lab.js, PsychoJS, Gorilla, JATOS, OSWeb, PCIbex

Python package for server-side analysis:

  • Behavioral feature extraction
  • Stylometric analysis
  • Machine learning classifiers

Documentation

Quick Start

TypeScript (Client-side Capture)

npm install @slopit/behavioral @slopit/adapter-jspsych
import { SlopitExtension } from "@slopit/adapter-jspsych";

const jsPsych = initJsPsych({
  extensions: [{ type: SlopitExtension }],
});

Python (Server-side Analysis)

pip install slopit
from slopit import Session

session = Session.from_json(data)
features = session.extract_features()

Packages

TypeScript

Package Description
@slopit/core Core types, schemas, and validation
@slopit/behavioral Behavioral event capture
@slopit/adapter-jspsych jsPsych integration
@slopit/adapter-labjs lab.js integration
@slopit/adapter-psychojs PsychoJS/Pavlovia integration
@slopit/adapter-gorilla Gorilla integration
@slopit/adapter-jatos JATOS integration
@slopit/adapter-osweb OSWeb/OpenSesame integration
@slopit/adapter-pcibex PCIbex integration
@slopit/adapter-vanilla Framework-agnostic adapter
@slopit/adapter-shared Shared adapter utilities

Python

Package Description
slopit Analysis toolkit

Development

Prerequisites

  • Node.js >= 22
  • pnpm >= 9
  • Python >= 3.13
  • uv (Python package manager)

Setup

# Install Node dependencies
pnpm install

# Install Python dependencies
cd python && uv sync --extra dev

Commands

# Build all packages
pnpm build

# Run tests
pnpm test

# Type check
pnpm typecheck

# Lint
pnpm lint

Contributing

See CONTRIBUTING.md for development guidelines.

License

MIT

Acknowledgments

This project was architected and implemented with the help of Claude Code.

About

Tools for detecting the use of AI assistance in crowd-sourced data collection

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors