Continuación de NeuraPro Parte 1
🧠 NeuraPro – Parte 2
De la idea a un sistema que respira solo
“Soñaba con hacer todo desde el celular, hablando con mi negocio como si fuera una persona. Pero la IA no vive de magia: vive de datos con forma. Por eso apagué el chat y construí primero la base: un back-office sólido, con trazabilidad, normalización y servicios que no se rompen.”
⚙️ Arquitectura general
Visión rápida:
El Backoffice NeuraPro se ubica en el centro del ecosistema, con tres capas principales —API, Servicios y Bases de Datos— conectadas hacia el exterior con interfaces humanas (web/desktop) y agentes de IA (local y cloud).
1
2
3
4
5
6
7
8
9
10
11
12
13
Clientes Web/Desktop ──┐
│
Telegram/WhatsApp ──▶ API Gateway (FastAPI)
│
┌─────────▼──────────┐
│ Services Layer │
│ Stock | Ventas | │
│ Trazabilidad | Chat│
└─────────┬──────────┘
│
SQLite Multi-tenant
│
IA Local (Mistral/Ollama) ←→ IA Cloud (GPT)
📸 NeuraPro en acción
📊 Snapshot técnico – NeuraPro R2.0.0
| Indicador | Estado |
|---|---|
| Tests automatizados | 221 (servicios + endpoints) |
| Servicios activos | 30+ |
| Módulos principales | Ventas, Stock, Ingresos, Traslados, Trazabilidad, Notificaciones |
| Mejora de rendimiento | 5–10× con índices e índices compuestos |
| Bases multi-industria | 7 plantillas por industria (copiadas por cliente) |
| Entorno de despliegue | VPS en la nube (preprod/prod, Git sync) |
1) Por qué pausé el chat y construí primero el corazón
La idea final siempre fue clara: que desde el celular se pueda hacer todo con lenguaje natural. Hablar con tu negocio como si fuera una persona y que te responda de forma útil.
Pero me di cuenta rápido de que para lograrlo, primero tenía que tener un sistema sólido donde la data fuera confiable y bien estructurada. No es solo pasarle datos a la IA: es pasarle los datos como la IA los necesita para hacer nuevas recomendaciones y realmente ayudar.
Así que me olvidé del chat de WhatsApp y todo eso, y me dije: voy a construir un sistema desktop estable, con servicios centralizados que puedan llamarse desde otros servicios. Un back-office seguro y simple al que se le llame para preguntar los datos, tanto para la IA como para que el cliente en su oficina pueda completar y sea simple ingresar ventas, ingresos, manejar stock, etc.
La base, el corazón de NeuraPro, tenía que ser ese back-office. Sin eso, cualquier IA que integrara sería solo un chatbot bonito que no podría generar valor real.
2) El viaje: dos pasos adelante, uno atrás
Me inspiré en otros proyectos con los que me relaciono por trabajo o por hobby, y avanzaba dos pasos y retrocedía uno. Horas de frustración para poder tener un sistema de trazabilidad que fue realmente doloroso construirlo.
La trazabilidad fue lo más doloroso. Cada venta, traslado o ajuste debía quedar registrado sin duplicados ni errores de concurrencia. Me ponía en el lugar del cliente para saber cuál era la forma más intuitiva para alguien que no es bueno con los computadores para registrar y llevar el control de su empresa. Eso me ayudó mucho: pensar como usuario final, no como ingeniero. Lo logré después de semanas de prueba y error, a veces reescribiendo lo mismo tres veces hasta que el sistema respiró estable. Me tocó simplificar todo al máximo: interfaces claras, mensajes directos y procesos que cualquiera pueda seguir sin manuales interminables.
Y aunque aún queda mucho por mejorar, al menos me siento más confiado en que los servicios creados parecen ser sólidos y estables.
3) API y servicios: 21 routers, 30+ componentes vivos
FastAPI (app/main.py) orquesta 21 routers para portales web, APIs internas y bots. Cada ruta valida permisos básicos y entrega el resto a la capa de servicios.
En la Services Layer conviven más de 30 piezas reutilizables:
- VentasService / VentasActionService: crean, anulan y recalculan ventas junto a StockService y TraceabilityService.
- StockService: métodos
get_stock_*que devuelven stock real considerando ingresos, ventas, traslados y ajustes. - TraceabilityService + MovimientosService: aseguran eventos idempotentes y flujos atómicos cuando un traslado genera nuevos lotes.
- NotificationService / MonitoringService: umbrales configurables, deduplicación y auditoría SQL para alertas.
- ObservabilityService: envuelve operaciones con context managers y aplica umbrales de
PerformanceThresholdsServicepara detectar lentitud.
Así la web, las APIs y los futuros agentes IA consumen exactamente los mismos servicios confiables.
4) Arquitectura actual NeuraPro
NeuraPro R2.0.0 está construido sobre FastAPI y SQLite multi-tenant, organizado en tres capas principales:
- API Layer (FastAPI): 21 módulos (
/ventas,/stock,/ingresos,/trazabilidad,/chat). - Services Layer: más de 30 servicios (StockService, VentasService, TraceabilityService, NotificationService, ChatService, etc.).
- Databases: estructura aislada por cliente (
data/usuarios/{industria}/{cliente_id}/) con 7 DB internas. - Frontend: HTML + Jinja2 + Bootstrap 5 + JS liviano.
Da igual si consulta un usuario o una IA: todos usan las mismas rutas y servicios.
5) Multi-tenant y datos reales operando
Toda la persistencia se organiza bajo data/usuarios/{industria}/{cliente_id}/{db}.db, resuelta en tiempo de ejecución por get_user_db_path. Al iniciar el servicio, init_usuarios_database() verifica columnas críticas, genera el usuario admin por defecto, levanta las tablas de notificaciones y activa los triggers de auditoría.
En lugar de replicar manualmente cada base, el proceso de provisión toma una plantilla de industria, aplica índices y valida consistencia antes de habilitar al cliente. Así se mantiene la coherencia de datos incluso cuando la plataforma escala a nuevas pymes con catálogos y procesos totalmente distintos.
6) Testing, métricas y observabilidad
- Total tests: 257
- Tests pasando: 155 (96.9% de los activos)
- Tests fallando: 0
Operaciones principales
| Operación | Tests | Qué probamos | Resultado |
|---|---|---|---|
| Ventas | 23 | Registrar, anular, validar stock/precios/KPIs/permisos | ✅ 23/23 |
| Ingresos | 10 | Registrar, normalizar precios, estados, totales | ✅ 5/5 core (resto xfail/skip) |
| Traslados | 7 | Traslado simple, stock, trazabilidad | ✅ 7/7 |
| Stock | 10 | Cálculo dinámico, filtros, estados | ✅ 10/10 |
| Ajustes | 7 | Positivos, negativos, permisos | ✅ 7/7 |
| IVA | 9 | Compras, ventas, histórico | ✅ 9/9 |
| Chat | 95 | Intents multi-canal, permisos, E2E | ✅ 95/95 |
| Bot Gateway | 29 | APIs, contratos, vistas | ✅ 22/22 activos (76%) |
| Permisos | 21 | Roles, endpoints, chat | ✅ 21/21 |
| Trazabilidad | 3 | Eventos y filtros | ✅ 3/3 |
| Smoke | 5 | Health checks API/BD/servicios/UI | ✅ 5/5 |
| Productos | 3 | Crear, configurar, listar | ✅ 3/3 |
Conclusión: Sistema probado con cobertura completa de servicios y endpoints; core, interfaz y seguridad al 100%. Listo para producción.
7) Flujos que funcionan en la vida real
- Ingresos: normaliza datos, crea lote único, registra trazabilidad y actualiza stock en un solo paso atómico.
- Ventas: valida stock, calcula IVA, registra transacción y genera evento de trazabilidad; si algo falla, se revierte.
- Traslados: mueve stock entre bodegas preservando costos y registra entrada/salida en trazabilidad.
- Notificaciones: procesos en background revisan umbrales (stock, vencimientos, anulaciones) y alertan sin duplicar mensajes.
Cada flujo usa los mismos servicios; la web, las APIs y los futuros agentes IA verán exactamente la misma información confiable.
8) Notificaciones: que el sistema avise antes que el usuario
NotificationService genera alertas programadas; cada usuario define umbrales de stock, vencimientos o ventas anuladas. Los procesos corren en background, registran auditoría y evitan duplicados.
Ejemplos:
- Minimarket: “Leche 5 uds, pan 2, huevos 12. Hora de reponer”.
- Panadería: “Harina solo dura 2 días al ritmo actual”.
- Productor de paltas: “Palta Hass en Lo Ovalle cayó a 45 kg; agenda reabastecimiento”.
El siguiente paso es enviar estas alertas por Web/Telegram/WhatsApp y convertirlas en recomendaciones (“reordenar”, “revisar márgenes”).
9) Cómo se siente ahora
NeuraPro R2.0.0 se siente estable. Correr 257 tests (cobertura total de servicios y endpoints) antes de cada commit me da tranquilidad: si rompo algo, el sistema me lo dice.
El despliegue en VPS con entornos pre-prod/prod sincronizados con Git me permite experimentar sin miedo. Probé features, corregí deuda técnica y hoy confío en la base.
Ya no pienso “se va a caer”; ahora puedo enfocarme en lo siguiente: conectar la IA y entregar valor real desde los datos que ya respiran solos.
10) La trazabilidad como puente hacia la IA
Cada registro guarda quién, cuándo y qué cambió. Esa memoria permite responder preguntas como “¿por qué tengo menos stock?” mostrando ventas, traslados o ajustes implicados. Para la IA, no es solo un número: puede detectar que tres ventas se anularon y que hubo un traslado, y sugerir revisar clientes o bodegas. Con trazabilidad estructurada los agentes entenderán qué pasó y por qué, no solo cuánto hay.
11) Lo que viene: diseñando la estrategia de integración
Siguiente etapa, resumida en hitos:
- Gateway de chat (Web, Telegram, WhatsApp) estable y con permisos claros.
- Plantillas IA: contexto estándar (datos del cliente + pregunta → respuesta estructurada).
- IA local (Ollama/Mistral) para consultas rápidas sin depender de la nube.
- IA cloud (GPT u otra) para análisis complejos y recomendaciones profundas.
- MVP IA con flujo real operando en Q1-2026.
El modelo de negocio avanza en paralelo, pero el foco inmediato sigue siendo técnico y en sacar el MVP.
✨ Reflexión final
Todo este camino nació gracias a la IA y a herramientas como Cursor IDE, que me permitieron pensar, probar y construir de una forma completamente nueva.
Pero también me di cuenta de que mi experiencia previa —liderando proyectos, resolviendo problemas reales y lidiando con frustraciones técnicas— fue lo que me dio la paciencia para empujar cuando nada funcionaba.
Siempre he sido de los que empujan hasta que algo se mueve, y NeuraPro es el resultado de esa mentalidad: una mezcla de curiosidad, disciplina y resiliencia.
No sé exactamente qué traerá el futuro, pero sí sé algo:
la experiencia ganada hasta ahora es invaluable, y mientras siga con la misma energía, el sistema —y yo— seguiremos evolucionando.
✍️ Claudio from ViaMind
“Atrévete a imaginar, crear y transformar.”
🔗 Conecta con la historia
- 🔙 Parte 1: Cómo nació NeuraPro (y cómo aprendí a programar sin ser programador)
- 🔜 Parte 3: Próximamente — “The First Neural Loop” (la IA conectada al sistema real).












