/ Proyectos / (01)

Florami

Asistente de plantas que identifica y diagnostica enfermedades, da recomendaciones de cuidado e información relevante sobre la planta a partir de una sola foto.

Año
2026
Rol
Diseño + full stack
Categoría
Asistente de plantas con IA
Estado
Desplegado

Florami es una aplicación web full-stack. El objetivo es permitir al usuario conocer el estado de sus plantas y recibir cuidados si fueran necesarios. Aparte, la opción de ir registrando su evolución a partir de fotos. Además, cada vez que se sube una planta, si supera un umbral de calidad, alimenta una enciclopedia bilingüe pública.

(Destacados)

Qué hace que funcione.

  1. 01

    Pipeline Gemini de cuatro pasos: un modelo de visión describe, un segundo fuerza el resultado en JSON estricto, un tercero filtra la calidad y un cuarto genera las fichas de la enciclopedia en caso de pasar un umbral de calidad al registrar una planta.

  2. 02

    Jardín de plantas donde se puede organizar y ver todas tus plantas registradas, y también ver el historial de cada planta y su progreso a lo largo del tiempo.

  3. 03

    Conversión HEIC→JPEG en servidor + deduplicación SHA-256 / pHash para que cualquier foto de iPhone funcione a la primera. Aparte, un sistema de optimización a WebP antes de enviar a Cloudinary para reducir tamaño de transferencia.

(Caso de estudio) 2026 · Diseño + full stack

— Contexto

La mayoría de las apps de cuidado de plantas se quedan en la identificación de la especie. Esto provoca que los usuarios abandonen la aplicación rápidamente. Mi intención era construir algo que los retuviese y para ello pensé en crear dos funcionalidades innovadoras: el jardín personal donde puedes organizar tus plantas (salón, balcón, jardín, etc.) y la opción de ir actualizando el estado de la planta. Aparte hay un chatbot que ya conoce todas tus plantas por lo que las conversaciones serían muy fluidas. No obstante, no se queda solo ahí: pensando en el opensource y en Wikipedia, diseñé una enciclopedia pública pero bonita y visual por cada planta decente registrada.

— El problema

A día de hoy hay distintas formas de saber qué le sucede a una planta pero no hay una manera de que sea una experiencia fluida. Por ejemplo, se puede preguntar a ChatGPT o a Gemini qué le pasa a tu planta y puede que te dé una respuesta válida, pero la forma en la que se presenta será algo efímero que luego tengas que volver a buscar entre tus chats para recordarlo. Por otra parte, hay apps como PlantNet etc., pero su problema es que son apps muy limitadas y con poca variedad o muy años 2010. Para ello Florami resuelve todos esos puntos.

(Proceso)

El proceso, paso a paso.

  1. 01 Design

    Para el diseño me enfoqué en una estética muy orgánica y agradable estilo editorial basándome en los colores del mundo agrícola pero sin que resulte un caos.

    En cuanto al UX, intenté que fuese completa pero simple, siguiendo la filosofía de "menos es más". Triaje y prescripción, no identificación enciclopédica. La pantalla de resultados ordena: especie (con confianza), estado y tres acciones de cuidado por urgencia. Todo lo demás — historial, chat, enciclopedia — está a un toque de distancia, nunca en medio.

  2. 02 Build

    Backend Node + Express en cinco capas, MongoDB en el plano de datos.

    Separación estricta entre transporte, routing, controladores, servicios y capas de datos. Modelos Mongoose para User, Plant, Consulta, Conversation y PlantCatalog. Helmet, CORS, mongo-sanitize, rate limiting, CSRF (double-submit cookie) y validación Zod en cada ruta que modifica datos.

  3. 03 Model

    Pipeline Gemini de 4 pasos: describe primero, luego estructura.

    El modelo de visión devuelve una narrativa botánica detallada a partir de la imagen. Una segunda llamada 'estructuradora' reescribe esa narrativa en un documento JSON estricto y validado que el backend puede almacenar. Un tercer paso encargado de filtrar si la foto es válida o no dependiendo de la confianza de detección (>80% de que sea una planta de X especie) evitando que las fotos sean de poca calidad o no sean realmente de esa especie. Finalmente un cuarto paso encargado de la generación de la ficha de cada planta en español e inglés para la enciclopedia.

  4. 04 Build

    Casos límite que deciden si el producto funciona de verdad.

    Conversión HEIC→JPEG en el servidor vía sharp (los iPhones usan HEIC por defecto, Gemini no lo acepta). Deduplicación SHA-256 + hash perceptual contra las últimas 50 subidas del usuario (Hamming ≤ 6). Las imágenes se mantienen en memoria y se transmiten directamente a Cloudinary — el archivo nunca se escribe en disco.

  5. 05 Ship

    Auto-publicación por niveles de calidad para la enciclopedia.

    Cada análisis se clasifica en Nivel 1 / 2 / 3 según confianza y calidad de imagen. Las especies Nivel 1 con ≥ 2 aprobaciones previas de admin se publican automáticamente con traducción bilingüe. Las especies nuevas y las de Nivel 2 van a una cola de moderación humana. El Nivel 3 se descarta — la imagen nunca se sube.

— Resultado

Cifras, sin adornos.

  • 4 pasos Pipeline Gemini: visión + estructurador + filtro + ficha — Describe, fuerza JSON, valida calidad y genera enciclopedia
  • 3 niveles Auto-publicación por calidad — Confianza × calidad de imagen
  • ES / EN Enciclopedia bilingüe auto-traducida — Fichas en caché vía lru-cache
  • 0 disco Procesado de imágenes: RAM → Cloudinary — Multer memoryStorage

El modelo es una funcionalidad del producto, no un proyecto de ciencia.

— Florami — principio de diseño