| Web appNext.js 16 · React 19Código determinista | Carga, progreso en vivo, resultados e historial. Recibe cada estado del pipeline por SSE, con replay si se cae la conexión. |
| APIFastify · SSECódigo determinista | Valida el PDF y la oferta, revisa créditos, encola el trabajo y abre el stream en vivo. |
| Cola de trabajosBullMQ · RedisCódigo determinista | Procesos worker separados con cola de errores, más colas para reportes de calidad, exportes y recordatorios. |
| Costo y límitesPresupuesto diario · TPM/RPMCódigo determinista | Control de admisión por modelo con carriles de prioridad y enfriamiento ante 429. Un presupuesto diario frena el gasto antes de que se dispare. |
| ParseTexto + OCR con visiónLlamada a modelo | Extracción híbrida: texto primero, un modelo de visión como OCR de respaldo para CVs escaneados, y un LLM arma un CV canónico. |
| Evidencia de skillsCalificadas por pruebaLlamada a modelo | Un LLM extrae las skills de la oferta; cada una se califica fuerte, atenuada o excluida según cuánta prueba tiene el CV. |
| Reescritura LLMReescribe sin inventarLlamada a modelo | El modelo de calidad reescribe el CV usando solo skills probadas. La salida estructurada escala del nivel rápido al de calidad si hay que repararla. |
| Validador de salidaHonestidad · preserva skillsCódigo determinista | Chequeos deterministas rechazan skills perdidas y afirmaciones sin sustento antes de calificar. Una regresión de más de 5 puntos activa el fallback y reembolsa el crédito. |
| Motor de puntajePuntaje ATS deterministaCódigo determinista | El modelo propone un puntaje, pero el número que se muestra sale de un motor determinista, junto con el techo honesto. |
| Router de modelosRápido · Calidad · Visión · JuezLlamada a modelo | Cada paso pide un nivel, no un modelo. El proveedor del writer se cambia por configuración sin tocar el pipeline. |
| Jueces de calidadLLM juez · chequeo de afirmacionesLlamada a modelo | Lentes asíncronos califican cada resultado (recruiter, ATS, probabilidad de entrevista) y un chequeo de implicación verifica cada afirmación. Evals nocturnas en CI. |
| Embeddings de skillsMatch de skills por vectoresPlaneado | Siguiente fase: embeddings locales para comparar skills por significado y no por nombre. Planeado, aún no construido. |
| Servicio de renderFastAPI · TypstCódigo determinista | Un microservicio en Python convierte el resultado en PDF en una de cinco plantillas. |
| Postgres · S3Corridas · historial · archivosDatos | Postgres con Drizzle para corridas, créditos y el tracker; almacenamiento compatible con S3 con tokens de descarga firmados. |
| ObservabilidadOpenTelemetryCódigo determinista | Trazas con tokens y costo en cada llamada a modelo, más logs estructurados y alertas de presupuesto. |