:::tip Pronunciation ODE is pronounced like “code”, without the “C.” :::
Open Data Ensemble (ODE) is a comprehensive platform for mobile data collection and synchronization. Built for researchers, health professionals, implementers, and developers, ODE provides a robust solution for designing forms, managing data securely, and synchronizing seamlessly across devices, even in offline conditions.
:::info ODE v1.1.0
ODE v1.1.0 is available with ODE Desktop — a native app for data stewardship and app bundle development. Install ODE Desktop or continue with Formulus on Android.
The source code for ODE is publicly available on GitHub. We welcome anyone willing to help with testing, development, or getting involved in the project.
Get involved: Reach out to us at [email protected] - we’d love to hear from you!
Source Code: Our monorepo on GitHub contains the source code for all components. Visit our repository: https://github.com/OpenDataEnsemble/ode
:::
Traditional data collection tools often have limitations:
ODE provides an integrated system for the complete data lifecycle:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Collect │ ──► │ Sync │ ──► │ Analyze │
│ Data │ │ Offline │ │ & Export │
└──────────────┘ └──────────────┘ └──────────────┘
Formulus WatermelonDB + Parquet Export
(App) Synkronus (Server) (Your Tools)
ODE is a modern toolkit that simplifies mobile data collection through:
Here’s an overview of the current members of the ensemble:

ODE consists of these main components that work together:
| Component | Description | Technology |
|---|---|---|
| Formulus | Mobile application for Android and iOS | React Native |
| ODE Desktop | Desktop app for data management and app workbench | Tauri (React + Rust) |
| Formplayer | Web-based form rendering engine | React |
| Synkronus | Backend server for data synchronization | Go |
| Synkronus CLI | Command-line utility for administration | Go |
| Synkronus Portal | Web admin for users, bundles, and export | React |
Create sophisticated forms using JSON schema definitions. ODE supports various question types including text, numbers, dates, selections, multimedia capture, GPS coordinates, and custom renderers.
Work seamlessly in areas with unreliable connectivity. Data is stored locally and synchronized when network connectivity is available.
Reliable bidirectional synchronization ensures data consistency across devices and servers, with conflict resolution built into the protocol.
Build custom applications that integrate with the ODE platform, allowing for specialized workflows and user interfaces.
New to ODE? Start with our Getting Started guide to understand the platform and begin your first project.
For developers looking to contribute or extend ODE, see the Development section for architecture details and contribution guidelines.
This documentation is organized to help you find information quickly: