Rastrum

Funcionalidades

Lo que entrega v1.0 hoy: cascada de identificación, registro de observaciones, social y curación, exportación de datos, PWA offline y privacidad.

Lo que entrega Rastrum hoy

Las funcionalidades de v1.0 son lo que se ejecuta en producción. Cada fila se mapea a un módulo con spec dedicado y código en main.

01 Identificación (cascada por costo de licencia)

Una sola entrada (foto, audio, video, evidencia) corre por una cascada que prioriza plugins gratuitos, luego on-device, y finalmente APIs con BYO key. El primer resultado con confianza ≥ 0.7 gana.

PlantNet

Cloud · gratis (cuota 500/día) · 78K plantas

Claude Haiku 4.5

Cloud · BYO key · visión multi-taxón

BirdNET-Lite (audio)

On-device · CC BY-NC-SA · ~50 MB · ~6,000 aves

EfficientNet-Lite0

On-device · MIT · ~18 MB INT8 · base ImageNet

Phi-3.5-vision (WebLLM)

On-device · ~2.4 GB · respaldo de baja confianza

MegaDetector v5a

On-device · ~134 MB · cámara trampa

/identify

Sondeo rápido sin guardar (foto)

/chat

Foto + audio → cascada → Llama-3.2-1B interpreta

02 Registro de observaciones

Captura geolocalizada con auto-relleno EXIF, multi-medios, y oscurecimiento de coordenadas para especies sensibles.

/observe

GPS de dos pasos + EXIF + oscurecimiento NOM-059

Multi-imagen

Galería con primary + remove

Audio

MediaRecorder ≤30 s

Video

≤30 s (H.265/AV1)

Cámara en app

getUserMedia + fallback a input file

Selector de mapa

Drag-pin + búsqueda + reverse geocode

Mis observaciones

/perfil/observaciones — historial con miniaturas

Importador EXIF batch

/perfil/importar — multi-foto + revisión por fila

Cámara trampa batch

/perfil/importar/camara-trampa — GPS único + EXIF por foto

03 Social + curación

Redes sociales sin patrones oscuros: feed de actividad, follows, comentarios, listas de seguimiento, rachas opt-in y consenso ponderado por experto.

Follows + comentarios + watchlists

Componentes Astro: FollowButton, Comments, WatchlistView

Rachas (opt-in)

Ventana de gracia diaria, recompute nocturno

Insignias de descubrimiento

39 semilla, evaluador nocturno (5 cat × 4 tiers)

UI de aplicación experta

ExpertApplyView + 3× peso de consenso

Feed de actividad

Triggers de servidor + 12 tipos de evento

Badge de campana

Contador en dropdown del avatar (99+ overflow)

04 Datos + exportación

Tu trabajo, tus datos. Exporta en Darwin Core, publica a GBIF, o conecta agentes de IA con el servidor MCP.

Darwin Core CSV

Presets: DwC, SNIB, CONANP

Darwin Core Archive ZIP

Para GBIF IPT (export-dwca Edge Function)

Tokens API personales

rst_* con scopes, hash SHA-256

REST API

/functions/v1/api/{observe,identify,observations,export}

MCP server

/functions/v1/mcp para Claude Desktop, Cursor, VS Code, Copilot

05 Offline + PWA

Funciona en el campo. Outbox local, modelos en dispositivo, mapas offline pmtiles e instalación PWA en una sola pantalla.

Botón de instalación

Android Chrome directo · iOS Safari hint

Service worker

Network-first HTML, cache-first assets

Dexie outbox

IndexedDB para observaciones offline

pmtiles MX

~48 MB para mapa offline

Modelos en caché

BirdNET, EfficientNet, Phi-vision en IndexedDB

06 Privacidad + gobernanza

BYO API keys nunca dejan el navegador. IA on-device nunca envía datos. Especies sensibles oscurecidas. CARE/FPIC para datos indígenas.

Oscurecimiento NOM-059 / CITES

RLS sobre obscure_level

Licencia por observación

CC-BY (default), BY-NC, CC0

CARE / FPIC

Postura para datos indígenas

BYO keys solo en cliente

localStorage, nunca en servidor

IA on-device sin red

BirdNET, EfficientNet, Phi-vision, Llama

07 Internacionalización

EN/ES desde el día uno con paridad estructural. 11 pares de rutas con slugs por idioma. Listo para Zapoteco/Mixteco cuando aterrice el FPIC.

Paridad EN/ES total

Cada string vive en src/i18n/{en,es}.json

11 pares de rutas

/en/observe ↔ /es/observar, /en/profile ↔ /es/perfil, …

Componentes *View

Cuerpo compartido entre locales

Fuente de la verdad: docs/progress.json (v0.1 → v1.0 ítems hechos), src/lib/identifiers/index.ts (plugins registrados) y supabase/functions/ (Edge Functions desplegadas).

Reportar un problema

Incluiremos esto en tu reporte