What is iAm?
iAm is in early beta and under active development. The platform is functional and has been used in pilot research, but APIs, data models, and features may change. We welcome contributions and feedback, but recommend caution before using it in production research without coordination with the development team.
iAm is an open-source platform for real-time subjective experience measurement and consciousness research. It provides researchers and practitioners with tools to capture, analyze, and understand subjective experiences as they occur -- from verbal thoughts and emotions to bodily sensations and visual imagery.
The Problem
Studying subjective experience scientifically presents well-documented challenges. Traditional survey instruments capture retrospective summaries rather than the temporal dynamics of experience as it unfolds. Existing tools generally lack the data infrastructure to model the complex, interconnected, temporal nature of experiential data. And most research software remains proprietary, creating barriers to replication and extension.
The Approach
iAm attempts to address these challenges through:
- STREAM (Structured, Typed, Realtime Experiential Awareness Mapping): A protocol for capturing subjective experiences in real-time during structured measurement sessions using text, speech, or button-press inputs with sub-second temporal precision. STREAM provides the methodological framework; iAm provides the measurement infrastructure.
- A Graph Data Model: Built on Neo4j, experiences are modeled as interconnected nodes and relationships rather than flat rows in a spreadsheet. This structure preserves temporal ordering, co-occurrence, meta-cognitive reflection, and semantic categorization.
- Version-Controlled Measurement Protocols: Every experience type definition, session protocol, and survey instrument is semantically versioned. Once published, definitions are immutable. This supports precise citation and reproducibility across studies.
- Research Infrastructure: Built-in project management with cohorts, collection tasks, and participant tracking for multi-day studies involving contemplative practice, mindfulness assessments, and experience sampling.
Who Is This For?
- Consciousness researchers studying the structure of subjective experience
- Contemplative science labs measuring meditation and mindfulness outcomes
- Cognitive scientists investigating inner speech, mental imagery, and meta-cognition
- Developers building tools for experience sampling and ecological momentary assessment (EMA)
- Practitioners wanting a structured personal practice tracking tool
Architecture at a Glance
iAm is a monorepo with three workspaces:
| Workspace | Purpose |
|---|---|
client/ | React 18 frontend -- web and mobile (iOS/Android via Capacitor) |
server/ | Node.js GraphQL API with TypeGraphQL and Neo4j integration |
common/ | Shared types and validation schemas |
Current Status
iAm has been used in a pilot study (the CRAWL protocol -- Conscious Reporting of Awareness With Logging) that combined daily meditation sessions with real-time verbal thought tracking and validated survey instruments over a 5-day period. The platform is functional for data collection and basic analysis, but many features remain under active development. See the Contributing guide for how to get involved.
Quick Links
- Installation Guide -- Set up a local development environment
- Quick Start -- Get the platform running in minutes
- Architecture Overview -- Understand the system design
- Core Concepts -- Learn the domain model and measurement philosophy
- Development Standards -- Coding conventions and patterns
- Contributing -- How to contribute to iAm
License
iAm is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This ensures that all modifications and network-deployed versions of the software remain open-source and accessible to the research community.