How we built it

MiNorte está construido con:

Next.js 14 + FastAPI + Supabase/PostgreSQL + OpenAI

Nuestra regla principal fue:

El LLM interpreta. El código calcula.

Un motor financiero determinístico en Python normaliza movimientos, calcula métricas, detecta anomalías, identifica cuentas por cobrar y genera escenarios financieros.

El corazón del reto: MCP + Generative UI

Todo el sistema se comunica por un servidor MCP propio con 19 herramientas (banca, SAT, finanzas, cobranza): es el único idioma que hablan los agentes, y garantiza que ningún número nazca del modelo — todo viene del motor vía tools.

Encima de ese MCP viven nuestros agentes:

  • Analyst Agent: genera 10 insights rankeados con evidencia citada por nombre exacto del catálogo.
  • UI Designer: convierte insights en tarjetas de un catálogo congelado de 17 componentes validados — con gráfica obligatoria, footnote en español simple y cero JSX libre.
  • Consultant: responde preguntas usando herramientas y simulaciones determinísticas, y rediseña la vista con tarjetas visuales según lo que preguntas.
  • Composition Engine: decide qué mostrar cada semana usando severidad, impacto financiero, accionabilidad, novedad, diversidad por familia y memoria de lo que ya viste — con regla obligatoria de que las acciones pendientes siempre aparecen.

El resultado es una UI generativa de verdad: el dashboard que ves hoy no es el de ayer, porque el negocio tampoco lo es.


Challenges we ran into

The model sounded right even when it was wrong

Al principio decía cosas como:

“Tus ventas se mantienen estables frente al mes anterior.”

cuando solo teníamos un mes de datos.

Lo resolvimos con validación en código, no con prompts: catálogo exacto de señales, valores sobrescritos por el motor, meses verificados y veto a comparativos sin base. Si no existe evidencia suficiente, la afirmación no llega a la interfaz.

AI costs add up fast

Un día de debugging nos costó cerca de $13 USD.

Eso nos llevó a medir tokens, ordenar prompts para aprovechar el caché, topar iteraciones del agente y mover más trabajo al motor determinístico — sin tocar una sola regla de conducta del modelo.


What we learned

El aprendizaje más importante fue entender dónde no usar IA.

La IA es excelente explicando:

“Tu margen cayó principalmente por proveedores y marketing.”

Pero no debería calcular cuánto cayó.

Así terminamos con una arquitectura donde:

El software determina qué es verdad.
La IA determina cómo explicarlo y qué hacer después.


What's next

Queremos agregar más meses de datos, fortalecer auth y seguridad, mejorar la automatización de facturación y convertir escenarios del Asesor en planes financieros persistentes.

Nuestra visión sigue siendo simple:

Una PyME no debería necesitar ser experta en finanzas para entender su propio negocio.

Why Best Use of Vultr

MiNorte nació para vivir en la nube: API stateless en FastAPI, frontend Next.js y Postgres separados por diseño, listos para escalar horizontalmente. Con Vultr desplegamos en un clic y el Composition Engine que regenera dashboards con IA cada semana corre sin que la infraestructura sea el cuello de botella. El plan es llevar los agentes (Analista, Diseñador, Consultor) a cómputo dedicado y probar el ticket-OCR con Cloud GPUs: justo el caso donde una PyME real necesita respuesta en segundos, no minutos.

Why Best .Tech Domain Name

MiNorte merece una casa a su altura: un dominio .tech lo pone en el mapa como producto de tecnología, no como otro dashboard más. Lo usaríamos para el demo vivo del piloto (dashboard generativo + asesor con IA) y como base para expandir a más PyMEs después del hack. Diez años de dominio = diez años de historial financiero que presumir.

Built With

Share this project:

Updates

Submission history