Saltar al contenido principal
Proyectos Live

TerraCore PWA

TerraCore centraliza en una sola pantalla todo lo que una finca mediana necesita gestionar: animales, inventario, producción, salud animal, costos y finanzas. Reemplaza Excel, cuadernos y WhatsApp como herramientas operativas. Construida desde el campo con productores reales de Urabá, atiende bovino, porcino, equino, ovino, caprino, avícola y cultivos asociados (plátano, cacao, maíz) en Colombia.

Por Valentina Ramírez · Actualizado: 19 de junio de 2026

Resumen

PWA multitenancy para fincas medianas en Colombia. Centraliza animales, inventario, producción, salud y costos en una plataforma offline-first; redujo el tiempo administrativo 42% en fincas piloto. Django, DRF, PostgreSQL, React.

Stack
DjangoDRFPostgreSQLJWTReactTypeScriptTailwind CSS
01

El problema

Los productores agropecuarios en Colombia no contaban con software diseñado para ellos: los ERPs existentes eran demasiado complejos, y Excel con login no alcanzaba para gestionar animales, sanidad y producción al mismo tiempo. La operación terminaba repartida entre cuadernos, hojas de cálculo y grupos de WhatsApp.

Sin trazabilidad

¿Cuándo se vacunó ese animal? Nadie lo sabe con certeza.

Stock invisible

El concentrado se acaba y nadie lo vio venir.

Sin señal, sin datos

En el corral no hay internet. El registro queda para después, y después nunca llega.

02

Qué construí

  1. 01

    Arquitectura multitenancy: cada organización opera en su propio espacio de datos aislado sobre una sola instancia del backend.

  2. 02

    API REST con Django REST Framework, autenticación JWT y control de acceso por tres roles con permisos diferenciados: Administrador, Operario y Colaborador.

  3. 03

    PWA instalable desde el navegador en Android e iOS sin pasar por App Store: Service Worker persiste registros sin señal y sincroniza en batch al recuperar la red.

  4. 04

    Seis módulos integrados: Dashboard con KPIs en tiempo real, animales (ID, raza, peso, salud, ubicación), insumos con alertas de stock mínimo, costos operativos por lote, producción por lotes y salud animal con vacunas e historial sanitario.

  5. 05

    Importación desde CSV para un onboarding sin fricción y exportación CSV en cualquier momento: portabilidad total de los datos del productor, sin lock-in.

  6. 06

    Modelado relacional en PostgreSQL: organizaciones, usuarios, animales, lotes, insumos y registros de producción.

  7. 07

    Frontend en React + TypeScript consumiendo la API propia; diseño responsivo con Tailwind CSS.

  8. 08

    TLS en todos los endpoints; cumplimiento Ley 1581 de Habeas Data sin minería de datos para terceros ni entrenamiento de modelos con datos del usuario.

Dashboard

KPIs en tiempo real: animales activos, producción mensual, insumos, alertas e ingresos estimados.

Animales

Registro completo: ID, raza, peso, estado de salud y ubicación por potrero.

Insumos

Alimentos, medicamentos y suministros con alertas de stock mínimo y proveedor.

Costos

Registro de costos operativos por lote: insumos, mano de obra y gastos asociados a la producción.

Producción

Lotes de leche, huevos y cultivos con trazabilidad de insumos y horas.

Salud Animal

Vacunas, alertas de refuerzo e historial sanitario por animal.

Si registras una vacuna, pasan tres cosas solas.

  1. Vacuna aplicada (ej. Triple Bovina a "La Canela")
  2. Insumo descontado automáticamente (-1 dosis del stock)
  3. Próximo refuerzo agendado (en 14 días)
  4. Estado de salud del animal actualizado
03

Decisiones de arquitectura

1. Offline-first con PWA

Contexto
En potreros y corrales la señal es intermitente o inexistente.
Trade-off
Una web app tradicional fallaría. Una app nativa requeriría publicación en stores y más mantenimiento.
Decisión
PWA con Service Worker que persiste registros localmente y sincroniza en batch cuando vuelve la red. Se instala desde el navegador en Android e iOS sin pasar por App Store.

2. Módulos acoplados con eventos internos

Contexto
Cada acción del campo tiene consecuencias en otros registros (vacuna, insumo, salud, agenda).
Trade-off
Módulos aislados son más fáciles de mantener pero obligan al usuario a actualizar cada sección manualmente.
Decisión
Arquitectura de eventos internos: una acción dispara actualizaciones en cascada en todos los módulos relacionados.

3. Multirol sin complejidad para el usuario

Contexto
Una finca tiene administradores, operarios de campo y colaboradores con necesidades de información distintas.
Trade-off
Un solo rol lo ve todo (riesgo de exposición y sobrecarga); demasiados roles complican la gestión.
Decisión
Tres roles con permisos diferenciados: Administrador, Operario y Colaborador. Cada usuario ve solo lo que necesita según su flujo de trabajo.

4. Cumplimiento Ley 1581 de 2012 desde el diseño

Contexto
Los datos de producción y sanidad animal son sensibles para el productor. La confianza es bloqueante.
Trade-off
Almacenar más datos mejora el producto pero aumenta la responsabilidad legal y la desconfianza.
Decisión
Sin minería de datos para terceros, sin entrenamiento de modelos con datos del usuario. TLS en todos los endpoints.

5. Portabilidad de datos garantizada

Contexto
Los productores desconfían de plataformas que retienen sus datos o dificultan la salida.
Trade-off
El lock-in de datos puede retener usuarios a corto plazo pero destruye la confianza y frena la adopción inicial.
Decisión
Importación y exportación CSV en cualquier momento y sin restricciones. Los datos del productor son del productor.
04

Resultados

  • Reducción de -42% en tiempo de tareas administrativas medida en fincas piloto.

  • Operación agropecuaria completa centralizada en una plataforma, reemplazando el flujo en Excel, cuadernos y WhatsApp.

05

Aprendizajes

  • El aislamiento de datos multitenant condiciona cada decisión de modelado: definir el límite de tenant temprano evita reescrituras.

A un click

Tu próxima idea merece
código que la sostenga.

Diseño y construyo productos completos: del backend a la interfaz que tus usuarios aman. Con IA integrada y seguridad desde el diseño.

Proyectos desde COP 2.000.000 / USD 500 según alcance (MVP desde 3-6 semanas).

Disponibilidad limitada, respondo en 24h.