Situación
Una operación agrícola dependía de registros manuales, hojas de cálculo dispersas y reportes tardíos.
La trazabilidad entre finca, lote, cultivo, inventario y producción era frágil. Cuando la información llegaba a gerencia, ya llegaba tarde y con dudas.
Tarea
Necesitaba diseñar un ecosistema que permitiera:
- registrar trabajo operativo desde mobile
- centralizar datos de campo, producción e inventario
- soportar múltiples organizaciones desde una misma base técnica
- sostener autenticación segura sin romper la experiencia
- mejorar observabilidad y capacidad de evolución del sistema
Acción técnica
La decisión importante NO fue “hacer pantallas”. Fue ordenar el dominio para que el producto no colapsara cuando creciera.
Arquitectura
Organicé la solución con Clean Architecture y enfoque por features:
domainpara entidades, contratos y casos de usodatapara DTOs, repositorios y datasourcespresentationpara vistas, viewmodels y widgets
Eso permitió aislar reglas de negocio, reducir acoplamiento y mantener una estructura entendible a medida que aparecían nuevas capacidades.
Estado y evolución gradual
Se adoptó un enfoque híbrido de manejo de estado para permitir evolución incremental sin romper lo existente.
La idea no era perseguir pureza teórica, sino sostener continuidad del producto mientras se mejoraba la base técnica.
Autenticación y resiliencia
Uno de los puntos delicados fue el refresh de token concurrente.
La solución se diseñó para evitar múltiples refresh simultáneos, encolando solicitudes pendientes y reintentándolas cuando el token nuevo ya estaba disponible.
Multi-tenant y dominio explícito
El modelo se pensó para sostener varias operaciones agrícolas desde una misma plataforma, sin perder claridad en el dominio:
Finca → Lote → Etapa de cultivo → Producción → Inventario
Ese modelado fue clave para que la trazabilidad tuviera sentido técnico y no fuera solo una promesa de marketing.
Observabilidad
También se incorporó monitoreo de errores en producción para detectar fallos reales y no depender de reportes informales de usuarios.
Resultado
- ecosistema full-stack con mobile, backend y web operativa
- mejor visibilidad sobre fincas, lotes y producción
- base arquitectónica más consistente para nuevas features
- menor riesgo de crecimiento caótico del código
Decisiones técnicas relevantes
| Tema | Decisión |
|---|---|
| Arquitectura | Clean Architecture por features |
| Escalabilidad organizacional | Multi-tenant |
| Seguridad | autenticación múltiple + control de refresh |
| Operación | trazabilidad explícita del dominio |
| Observabilidad | monitoreo de errores en producción |
Aprendizajes
La parte difícil no era construir formularios.
La parte difícil era modelar bien el dominio y tomar decisiones que siguieran funcionando cuando el producto creciera.