Relab is an open-source research platform for collecting and publicly viewing data on the disassembly of durable goods. It is built at CML, Leiden University to support industrial ecology and circular economy research by generating better primary product data.
It combines:
- a FastAPI backend for structured product, media, and user data
- an Expo / React Native app for authenticated data collection
- an Astro site for publicly viewing project and dataset information
- a separate docs site for architecture, workflows, and deployment notes
The platform supports structured data collection during disassembly work and makes that data easier to publish, browse, and reuse.
Circular-economy and industrial-ecology research depends on detailed product data: what things are made of, how they come apart, which parts matter. That data is scarce, mostly closed, and slow to produce. Producers treat it as proprietary, and small expert teams sampling by hand cannot keep pace with the products entering the market.
Relab collects it bottom-up:
- repairers, refurbishers, dismantlers, and recyclers contribute data directly
- they meet products at the point of failure, so they capture as-failed composition, wear, and recoverability that as-designed producer specifications never show
- collaborative and citizen-science workflows turn routine repair and disassembly into structured observations
- the records are shared openly, linked to related databases, and reused in later research
Contributors get composition insight, sustainability metrics, and repair or R-strategy guidance back. We call this a circular data economy: middle- and end-of-life observations feed back into the data infrastructure that research and design rely on.
The long-term goal is an open industrial ecology data commons: data that is collected collaboratively, publicly accessible, linkable to other databases, and structured enough for machine-learning use.
Use the hosted platform at app.cml-relab.org.
To go deeper:
- Install and self-host for running or self-hosting the stack
- CONTRIBUTING.md for making code or docs changes
- docs.cml-relab.org for architecture and user-facing docs
| Path | Purpose |
|---|---|
backend/ |
FastAPI API, auth, data model, file handling, plugins |
app/ |
Expo / React Native research app |
www/ |
Astro public website |
docs/ |
Documentation site |
Docker Compose orchestrates the stack from the repo root.
Shared brand assets live in assets/; just assets-sync copies them into the consumer subrepos.
Configuration has five homes: the committed secret inventory in deploy/env/variables.toml,
deploy-host inputs in the gitignored root .env, runtime secrets in gitignored secrets/<env>/
files, optional backend-only local overrides in backend/.env.dev, and framework/test fixtures such
as app/.env.development and backend/.env.test.
just setup # install workspace dependencies and git hooks
just ci # run the canonical local CI pipeline
just test # run local test suites
just security # run dependency and security checks
just dev # start the full Docker dev stack with file watching
just deploy-secrets-template dev # create local backend secret filesCI runs axe scans and per-PR a11y lint across www/, docs/, and app/. See
Quality Controls for what runs where.
Four layers, each under its own licence:
| What | Licence | Why |
|---|---|---|
| Platform software — backend, app, www, docs site | AGPL-3.0-or-later | Copyleft, including over a network, so a hosted fork stays open. |
API specification — the OpenAPI schemas this repository generates (openapi.public.json, openapi.device.json) and the client types generated from them |
Apache-2.0 | An integration surface should not pass copyleft to anyone writing a client or an importer. Includes a patent grant. |
| Curated dataset releases | CC BY 4.0 | One instrument over the database structure and its contents. CC 4.0 licenses the EU sui generis database right, so no second licence is needed for the data. Attribution is the whole obligation, which keeps the dataset usable for machine learning. |
Site content (the writing on the docs site and on cml-relab.org) is CC BY 4.0. Code samples in the documentation are Apache-2.0, because CC licences are not meant for software.
Relab, the logo and the wordmark are not licensed by any of the above. No licence here grants rights in them, and CC BY says so explicitly (§2(b)(2)). Use the name to refer to this project, not to identify your own work as Relab.
The RPi camera plugin's schema (openapi.rpi-cam.json) is published here for reference. It is
fetched verbatim from relab-rpi-cam-plugin
and carries that project's licence, currently Apache-2.0.
Two limits that no licence changes. The GDPR governs personal data regardless of the licence: the sanitisation applied when building a release, not CC BY, is what makes publication lawful. And CC BY grants no trademark rights: teardown photographs show brand marks and model numbers, which the licence covers as images without licensing the marks themselves.
Questions about the platform, code, or dataset: relab@cml.leidenuniv.nl
