DepaVision es un producto en desarrollo. Busca asistir el proceso periódico de lectura de remarcadores, reducir la transcripción manual y mejorar la trazabilidad. Hoy existe un baseline técnico materializado; los flujos operacionales y la inferencia visual siguen en desarrollo. Este case trata sobre decisiones de producto y arquitectura, no sobre un producto terminado.
01 /Problema operacional
La lectura de remarcadores de agua y calefacción es un proceso periódico. Cuando cada valor se lee y se transcribe a mano, el proceso acumula trabajo repetitivo y es difícil reconstruir después de dónde viene cada registro.
DepaVision busca asistir ese proceso para reducir la transcripción manual y mejorar la trazabilidad de las lecturas.
02 /Product boundary
Una parte central del trabajo fue delimitar una primera versión (V1): qué problema resuelve, qué queda fuera y qué conviene validar antes de tomar decisiones difíciles de revertir.
DepaVision no se plantea como una automatización completa de la lectura. El objetivo es asistir el proceso sin eliminar el criterio humano.
03 /Human-in-the-loop
El diseño no depende ciegamente de una inferencia visual. Cuando una lectura no puede resolverse de forma suficientemente confiable, una persona puede intervenir.
Es un criterio de diseño. El flujo de captura y la inferencia visual siguen en desarrollo.
04 /Mi rol
Mi responsabilidad principal está en la definición del producto y en la arquitectura:
Definición del producto y delimitación de V1.
Diseño arquitectónico y decisiones técnicas.
Estructura del backend.
Separación de responsabilidades entre NestJS y FastAPI.
Baseline técnico.
Dirección y revisión técnica.
Este case no presenta como trabajo realizado modelos de machine learning, entrenamiento, OCR ni un pipeline de inferencia. Esas capacidades siguen en desarrollo.
05 /Arquitectura del sistema
La arquitectura separa cuatro responsabilidades: el cliente, un backend principal, los datos y un servicio especializado para capacidades de visión.
Vista abstracta
ClienteAngular · Ionic · Capacitor
↓
Backend principal / APINestJS · reglas de negocio
↓
DatosPostgreSQL
Servicio de visiónFastAPI · [inferencia en desarrollo]
Diagrama abstracto. El cliente se comunica con un backend principal, que concentra las reglas de negocio y coordina tanto los datos como un servicio especializado de visión.
El servicio de visión existe en el baseline, pero la inferencia visual sigue en desarrollo (borde discontinuo).
El diagrama es conceptual: no representa interfaces ni infraestructura concretas.
06 /Decisiones de ingeniería
Decisión Monolito modular
Problema
En un producto temprano, con flujos aún en definición, los microservicios agregan complejidad operacional antes de que exista una razón para ello.
Decisión
Mantener un backend principal como monolito modular: una frontera coherente, organizada internamente por módulos.
Trade-off
La separación entre módulos depende del diseño y de la revisión; no la impone una frontera de red.
Decisión Backend como boundary de negocio
Problema
Con dos runtimes en el sistema, las reglas de negocio podrían terminar repartidas entre tecnologías.
Decisión
Las reglas de negocio y la coordinación permanecen en el backend principal.
Trade-off
El backend principal concentra más responsabilidad dentro del sistema.
Decisión FastAPI para procesamiento especializado
Problema
Las capacidades de visión se desarrollan naturalmente en Python, un runtime distinto al del backend principal.
Decisión
Aislar Python detrás de un servicio especializado en FastAPI, dedicado a capacidades de visión y sin reglas de negocio.
Trade-off
Hay un segundo runtime y una frontera más que mantener. El servicio es parte del baseline; la inferencia visual sigue en desarrollo.
Decisión No cerrar ML antes de validar datos
Problema
Elegir una técnica de reconocimiento antes de conocer los datos disponibles puede optimizar el sistema para supuestos equivocados.
Decisión
No fijar la arquitectura de reconocimiento hasta comprender la calidad y la naturaleza de los datos disponibles.
Trade-off
Parte del diseño queda abierta a propósito: el servicio de visión está definido como frontera, no como solución cerrada.
07 /Baseline materializado
El baseline técnico está organizado como un monorepo políglota, con un entorno de integración local reproducible basado en Docker que reúne Node, Python y PostgreSQL.
Cliente:Angular · Ionic · Capacitor
Backend principal:NestJS, con conectividad a PostgreSQL
Servicio especializado:FastAPI
Integración local:Docker
Que estas tecnologías estén presentes significa que la base existe y se integra. No significa que cada capa tenga ya lógica funcional completa.
08 /Estado actual
Existe un baseline técnico real. El producto, los flujos operacionales y la inferencia visual siguen en desarrollo.
Baseline materializado
Angular / Ionic / Capacitor
NestJS
Conectividad con PostgreSQL
Servicio FastAPI
Integración local basada en Docker
En desarrollo
Flujos operacionales de negocio
Flujo de captura
Inferencia visual
Integración end-to-end del producto
09 /Tecnología
Baseline técnico materializado:
Angular
Ionic
Capacitor
NestJS
PostgreSQL
FastAPI
Docker
La lista describe la base técnica existente, no capacidades de producto terminadas.