El catálogo de DEC es de lectura casi pura: 494 fármacos que se consultan miles de veces y se editan por lotes desde un pipeline. Ese patrón no pide una base de datos relacional en el dispositivo — pide un snapshot embebido.
El razonamiento
- Offline-first real: un JSON en el bundle funciona desde el primer segundo, sin migraciones ni red.
- El snapshot ES el backup: regenerable con un comando desde Supabase.
- Un solo archivo sirve a web e iOS — mismas filas crudas, mismo contrato.
- Core Data brilla con escrituras concurrentes y relaciones complejas del usuario; aquí sería complejidad sin retorno.
node scripts/generate-snapshot.mjs → drugs-full.json (494 fármacos + detalle)
La regla: elige la herramienta por el patrón de acceso, no por la moda. Para un catálogo clínico versionado, el archivo plano gana.
ℹ
Dos pausas del plan free de Supabase tumbaron la app antes de esto. El snapshot embebido convirtió esa catástrofe en un no-evento.