A decentralized biodiversity observation platform built on the AT Protocol.
Observ.ing lets users record and share biodiversity observations on the federated AT Protocol network. Data follows Darwin Core standards for scientific interoperability.
Your data, your server - Observations are stored on your Personal Data Server (PDS), not a central database.
Prerequisites: Node 24+, Rust (auto-pinned by rust-toolchain.toml),
PostgreSQL (14+) with PostGIS,
process-compose,
ONNX Runtime (brew install onnxruntime on macOS), and optionally Go
for building the tap binary. Details in
docs/development.md.
cp .env.example .env # tweak DATABASE_URL etc. as needed
npm run setup # one-time: prereqs, deps, tap, models
# ensure Postgres is running (see docs/development.md#database-setup)
process-compose up -D # runs migrations, then starts services
open http://localhost:3000If anything goes wrong, npm run doctor walks every prerequisite the
stack needs and prints what's missing.
Cold setup downloads ~1.4 GB of models and compiles the full Rust workspace — budget 20–40 minutes the first time.
- Development — local setup, commands, services
- Contributing — PR flow, formatting, CI gates
- Architecture — system design and components
- Deployment — Cloud Run deployment
- Darwin Core — lexicon schemas
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.