Rastrum Rastrum

Roadmap

Six milestones from v0.1 MVP to v2.5 AI assistant over 30 months.

91%

v1.0 shipped 2026-04-26 — 53/58 items done across v0.1 → v1.0

Built fully open-source. Phases stay concrete; anything past v1.0 depends on external licensing, funding or governance.

Last updated: 2026-04-25

v0.1 → v1.0 code-complete in this push. Items marked done include features whose schema, RLS, Edge Function code, and client UI are all shipped to main. Items marked 'blocked' need an external action: API keys, Cornell BirdNET license, ML model training, Apple Developer account, Cloudflare R2 account + DNS, etc. Phases v1.5–v2.5 remain unchanged from prior plan. | 2026-04-25: First real user onboarding session (Eugenio Padilla). 10 bugs found and fixed, 5 new modules designed. Module 14 (User API Tokens) shipped. WebLLM set as default fallback. Identification block added to obs form.

v0.1 Alpha MVP (online-first) Shipped

Months 1–3

14/14

items

Astro site skeleton + Tailwind + i18n
Supabase schema (observations, taxa, identifications, media) with PostGIS + RLS
Supabase magic-link auth + guest mode
Google + GitHub OAuth, email OTP code, passkey, sign-out-everywhere
CI/CD via GitHub Actions (typecheck, test, build, deploy)
Profile page + edit + avatar dropdown (module 08)
GPS-tagged observation form with EXIF auto-fill
PlantNet photo ID integration
Claude Haiku 4.5 vision cascade
MapLibre map with clustered observation pins (OpenFreeMap; pmtiles in v0.3)
Darwin Core CSV export with format presets
PWA manifest + service worker shell cache
Dexie IndexedDB outbox + sync engine + identify trigger
Vitest unit-test scaffold (9 tests on Darwin Core mapping)
v0.3 Offline intelligence + activity Shipped

Months 4–5

11/11

items

Activity feed + server-side triggers (module 08)
Unread-count badge on avatar dropdown
NOM-059 / CITES obscuration warning in observation form
EXIF/XMP/ID3 metadata auto-extraction (in obs form)
BYO Anthropic key (client-set, never persisted)
WebLLM Llama-3.2-1B for translation + field notes (module 11)
EfficientNet-Lite0 ONNX base fallback (~18 MB INT8 hosted on R2)
pmtiles offline map download (Mexico zoom 0–10, ~48 MB)
WebLLM as default AI fallback (no opt-in required, download warning on first use)
Visible identification block in observation form (spinner + result chip + manual input)
Two-pass GPS: fast coarse fix then high-accuracy refinement
v0.5 Beta Partial

Months 6–8

shipped (engineering); 2 items deferred to operator action — see gbif-ipt and local-contexts blockers

11/13

items

Multi-image observations
Ecological evidence fields (track/scat/burrow/nest/feather/bone/sound/camera_trap)
39 seed badges + nightly evaluator Edge Function
WebLLM Phi-3.5-vision fallback ID (opt-in, confidence ≤ 0.4)
Confidence ≥ 0.4 enforcement on research-grade
Research-grade 2/3 identifier consensus + anti-sybil + expert 3× weight
Per-plugin BYO API keys with guided setup (module 13)
BirdNET-Lite audio ID (Cornell Lab CC BY-NC-SA 4.0, ONNX hosted on R2, on-device inference via onnxruntime-web)
!
GBIF IPT pilot publish (Darwin Core Archive ZIP)

Blocked by: GBIF publisher account + IPT host (DwC-A generator landed)

!
Local Contexts BC/TK Notice integration

Blocked by: Governance track — community consent before code

User API tokens (module 14) — personal rst_xxxx tokens, scoped, SHA-256 hashed
Token-authenticated REST API: /api/observe, /api/identify, /api/observations, /api/export
Token management UI at /perfil/tokens (ES) and /profile/tokens (EN)
v1.0 Public Launch Partial

Months 9–14

shipped (2026-04-26); 2 items deferred — capacitor-ios is v1.2, oauth-custom-domain requires Supabase Pro ($25/mo, deferred for zero-cost target)

17/20

items

Opt-in streaks + grace window + recompute Edge Function
Observation share/obs/{id}.png OG card Edge Function + public page
Follows + comments + watchlists schema (UI for follows/comments TBD)
Expert taxonomic weighting (3×) in consensus computation
Bioblitz events — schema (events table + region polygon + RLS)
!
Bioblitz events — UI (event detail page, live aggregates, participation badges)

Blocked by: Build when first community organizer requests one — speculative without a pilot event

DwC + SNIB + CONANP CSV presets
credentialed_researcher flag + RLS gate for precise coords on sensitive obs
Lunar phase + OpenMeteo weather Edge Function (auto-fires on sync)
Video support ≤30s (H.265/AV1)
Camera trap ingestion (MegaDetector v5a INT8 ONNX hosted on R2, batch importer at /profile/import/camera-trap, plugin in cascade for evidence_type='camera_trap')
!
Capacitor iOS App Store wrapper (v1.2)

Blocked by: Apple Developer Program ($99/yr) + Capacitor build pipeline

UI for follows + threaded comments + watchlist alerts
Interactive map picker for observation location (drag pin, tap to place, search locality)
Personal observation list/history page (/perfil/observaciones) with status and thumbnails
In-app camera via getUserMedia API with fallback to file input capture=environment
Batch photo importer with EXIF GPS/datetime extraction (module 19) — Google Photos, Drive, file upload
!
Custom auth domain on Supabase OAuth (auth.rastrum.org instead of raw Supabase URL)

Blocked by: Supabase Pro plan ($25/mo) — deferred for zero-cost target

MCP server for AI agents (JSON-RPC over HTTP at /functions/v1/mcp)
Migrate canonical domain to rastrum.org (was rastrum.artemiop.com)
v1.5 Territory Layer Planned

Months 12–16 (parallel to v1.0)

0/6

items

!
Rastrum Scout v0 (conversational ID, pgvector RAG)

Blocked by: pgvector extension on Supabase + embedding corpus (taxa descriptions) — separate ML project; reshelved from v0.5 to v1.5 since core photo/audio cascade is sufficient for v1.0

Biodiversity Trails with GPS waypoints + diversity metrics
PITs + QR/NFC anchors (Puntos de Información Territorial)
Spatial analysis: ANP/INEGI/INAH GeoJSON layers
Diversity indices: S, H', D, Chao1, Pielou J
Trail PDF export (field guide style)
v2.0 Institutional Planned

Months 17–22

0/6

items

Camera trap: occupancy modeling, activity histograms
GBIF dataset publisher + DOI generation
Regional ML training pipeline (Oaxaca-endemic focus)
!
Regional ONNX packs (Oaxaca, Yucatán) — output of regional-ml pipeline

Blocked by: Depends on regional-ml training pipeline; reshelved from v0.5 to v2.0 since the generic onnx-base (EfficientNet-Lite0) covers v1.0

B2G SaaS dashboard for CONANP / state agencies
iNaturalist import/export bridge
v2.5 AI + AR Planned

Months 23–32

0/4

items

Rastrum Scout — full conversational field AI (RAG + pgvector)
AR species overlay in camera viewfinder
Indigenous language voice I/O (Zapoteco, Mixteco, Maya, Náhuatl)
Formal CONABIO/CONANP/INAH partnership APIs

Governance & sovereignty (parallel to all product phases)

Governance work runs continuously alongside the product roadmap. Milestones have no shipping date — they complete when community consent + legal review land.

Zapoteco UI pilot — Free, Prior, Informed Consent process
Local Contexts BC/TK Notice integration
Indigenous Data Sovereignty (CARE principles) policy
Observer license framework (CC BY / BY-NC / CC0) + ML training gates
BirdNET Cornell commercial license (only needed for v2.0 B2G dashboard)

To update progress: edit docs/progress.json in the repo. The page rebuilds on every push.

Report an issue

We'll include this in your report