Volver a proyectos

Botanium

Jardín, juego y un atlas botánico entero en el móvil

Te dice cuándo toca cada cosa con tus plantas, te deja coleccionar especies como si fuera un juego y apunta a identificar plagas con modelos propios.

  • Node 24
  • node:http
  • node:sqlite
  • node:crypto
  • JavaScript (módulos ES)
  • PWA / Service Worker
  • Web Push (VAPID ES256, aes128gcm)
  • SQLite
  • Docker

420.528especies en el atlas, y se busca sin conexión

Botanium — Jardín, juego y un atlas botánico entero en el móvil — ampliar imagen

La demo en 30 segundos

Qué es

Botanium es una app de móvil —instalable y con todo dentro, sin conexión— para llevar tus plantas y tu huerto. Hace dos cosas a la vez. La primera es decirte cuándo toca cada faena —sembrar, podar, regar, cosechar— cruzando el calendario lunar con las plantas que tienes de verdad: no te dice «riega las plantas», te dice que la del salón lleva 18 días sin agua y que mañana es día de hoja. La segunda es el punto de juego: cada especie que registras entra en tu colección, y la colección se llena.

Debajo hay un atlas botánico de 420.528 especies que se consulta sin internet, con sus sinónimos, así que la etiqueta vieja del vivero también encuentra la planta. Cada ejemplar lleva su diario con fotos y sus anotaciones, y si algo va mal puedes marcarlo como «en apuros»: entonces cruza el frío y la lluvia reales de tu zona con lo que documenta su género y te dice qué mirar.

Hacia dónde va: identificar plagas y enfermedades desde una foto. Hoy la identificación de especie se apoya en un servicio de fuera; la idea es entrenar mis propias redes neuronales, cada vez más capaces, para que eso lo resuelva la app y no dependa de nadie.

Stack técnico

Node 24 en el servidor y JavaScript de módulos ES en el navegador, sin paso de build y sin un solo paquete de npm: lo que no trae la biblioteca estándar está escrito a mano, incluidas las efemérides lunares y la criptografía de Web Push. El mismo fichero que decide en pantalla si una planta tiene sed lo importa el servidor para redactar el aviso, así que las dos no pueden contradecirse. Los datos —tus plantas, el diario, las fotos y el atlas entero— viven en un único SQLite del propio runtime, y las efemérides se calculan en el dispositivo sin consultar a nadie. Es una PWA: se instala y sigue funcionando sin cobertura.

Y corre en mi propia infraestructura, que es la parte que no se ve: un contenedor de solo lectura, sin privilegios y con la salida cerrada, en el servidor de casa; delante, un túnel cifrado hasta la única máquina pública, que termina TLS y hace de proxy. La demo que se enlaza aquí arriba es esa misma instancia.