Volver a proyectos
Web App

MercÁgil

MercÁgil reúne las licitaciones y compras ágiles abiertas de Mercado Público (ChileCompra) y las ordena para una empresa concreta. Tiene dos modos: un Explorador para buscar en lenguaje natural, con una ficha por proceso (requisitos, riesgos, historial de adjudicaciones y montos en pesos, UF y dólares), y un Analista que conoce la empresa y recomienda en qué oportunidades participar.

Next.jsTypeScriptNestJSPostgreSQLVector DBLLMAI AgentsTailwind CSSDocker
Ver proyecto

El problema

Cada semana se publican miles de licitaciones y compras ágiles, y casi la mitad cierra en menos de una semana. Las PyMEs sin un área de licitaciones las revisan a mano y se pierden muchas que podrían ganar.

La solución

Una plataforma que sincroniza a diario el universo abierto de Mercado Público y lo hace consultable en español natural. El Analista arma el perfil de la empresa, puntúa cada oportunidad de 0 a 100 con sus razones y riesgos, y lleva el embudo de postulaciones, el checklist, el calendario y alertas por correo. El agente recomienda, no decide: nunca postula por la empresa.

Arquitectura técnica

Monorepo pnpm + Turborepo: landing y plataforma en Next.js 16, backend y worker en NestJS

PostgreSQL + pgvector con Drizzle para esquema y migraciones

Worker único que sincroniza Mercado Público; ningún usuario llama a la API directamente

Cliente de IA intercambiable vía OpenRouter, con fallback a un intérprete de reglas

Contratos zod compartidos entre web, landing y backend

Desafíos y soluciones

Límite real de la API

La documentación promete 10.000 peticiones diarias, pero en la práctica hay un límite por IP: con 1,5 s entre llamadas llegaba HTTP 429 tras solo 30. Toda consulta se responde desde una base propia, sincronizada por un único worker a 3 s por petición.

Datos incompletos sin inventar

Solo la mitad de las licitaciones publica su monto. Los filtros nunca excluyen por defecto lo que falta, y cada recomendación cita el código y enlaza a la ficha oficial en vez de suponer.

Stack utilizado

Next.jsTypeScriptNestJSPostgreSQLVector DBLLMAI AgentsTailwind CSSDocker