Todo lo que hace Resume Matcher, en el orden en que lo vas a usar. Pega una descripción del puesto, revisa cada cambio que propone la IA, pule el currículum en el constructor, escribe la carta de presentación y haz seguimiento de la candidatura. En tu propia máquina, con el modelo de IA que elijas.
Un currículum maestro, una copia adaptada para cada oferta.
1
Conecta un modelo de IA. En Configuración: un proveedor en la nube con tu propia clave de API, o un modelo local.
2
Añade un currículum maestro. Sube un archivo PDF o Word, o crea uno con el Asistente de currículum.
3
Pega una descripción del puesto. La IA propone cambios concretos sobre tu currículum maestro.
4
Revisa los cambios. En una vista previa de antes y después; luego confirma o regenera.
5
Púlelo en el constructor. Elige una plantilla, ajusta el diseño, edita lo que quieras.
6
Genera los extras. Una carta de presentación, un mensaje de contacto y la preparación para la entrevista del mismo puesto.
7
Descarga. El currículum y la carta de presentación, en PDF.
8
Haz seguimiento de la candidatura. En un tablero Kanban. Al confirmar un currículum adaptado, su tarjeta se añade sola.
Tu currículum maestro nunca se sobrescribe. Cada versión adaptada se guarda como un currículum aparte, vinculado al maestro del que salió y a la oferta para la que se escribió. Las capturas de esta página usan un perfil de demostración: Sarah Chen y todas las empresas que aparecen son ficticias.
01 Adapta. Pega una descripción del puesto y revisa cada cambio.
La adaptación reformula lo que ya está en tu currículum. No inventa experiencia, y en la página de adaptación no se guarda nada hasta que hayas leído los cambios y los hayas confirmado.
2 páginas
de límite por defecto, recortando las viñetas menos relevantes para que quepa
0
números nuevos: se revierte la línea reescrita que añade uno
4 min
de límite por cada adaptación, por defecto
Parte de un currículum maestro
Un currículum maestro es tu currículum completo, sin adaptar: cada puesto, proyecto y habilidad en un solo lugar. Sube un archivo PDF, DOC o DOCX de hasta 4 MB y la IA lo convierte en secciones estructuradas que puedes editar, conservando una copia del texto original. Los PDF escaneados, que solo contienen imágenes, no tienen capa de texto y se rechazan; pásalos antes por OCR.
¿No tienes un archivo de currículum? El Asistente de currículum hace una pregunta cada vez, 15 como máximo, y construye el currículum en un borrador en vivo a medida que respondes. Tiene instrucciones de no inventar nunca empleadores, cargos, fechas, títulos, certificaciones, métricas, herramientas ni habilidades.
Ten hasta cinco currículums maestros como trayectorias profesionales, por ejemplo uno para puestos de backend y otro para ML. Exactamente uno es el predeterminado, y la página de adaptación parte de él.
Pega la descripción del puesto
Elige cuánto adaptar, define un límite de páginas (1–3 páginas, o ninguno) y cuántas viñetas conservar por puesto, pega la oferta (hasta 100.000 caracteres) y haz clic en Generar CV Personalizado.
Ajuste leve
Cambios mínimos para alinear mejor tu experiencia actual.
Mejora de palabras clave
La opción predeterminada. Integra palabras clave relevantes sin cambiar el rol ni el alcance.
Ajuste completo
Adaptación integral a partir de la descripción del puesto.
Qué pasa detrás del botón
1
Análisis de la oferta
IA
La IA extrae la empresa, el puesto, las habilidades requeridas y deseables, las responsabilidades clave y las palabras clave. Se guardan junto con la oferta, y así la tarjeta del tablero de seguimiento obtiene después la empresa y el puesto sin otra llamada a la IA.
2
Selección de viñetas
IA Código
La IA puntúa cada viñeta según su relevancia para la oferta. Solo puntúa; no puede reescribir ni inventar viñetas. Después, el código conserva las viñetas más relevantes de cada puesto o proyecto, hasta tu tope, y, renderizando de verdad la página, quita las menos relevantes hasta que el currículum cabe en tu límite de páginas.
3
Plan de habilidades
IA Código
La IA propone qué habilidades destacar. El código solo acepta una habilidad si ya está en tu currículum, aparece en su texto o es una habilidad requerida o deseable que aparece literalmente en la descripción del puesto.
4
Cambios dirigidos
IA Código
En lugar de reescribir todo tu currículum, la IA devuelve una lista de cambios concretos, cada uno citando el texto original que sustituye. El código verifica cada cita contra tu currículum y rechaza los cambios dirigidos a campos protegidos.
5
Redes de seguridad y pulido
Código
El código restaura tus datos personales y tus fechas, conserva todas las habilidades originales, elimina una lista de frases manidas que "suenan a IA" (salvo que las use la descripción del puesto) y revierte cualquier línea reescrita que introduzca una cifra que tu original no contiene.
Toda la ejecución tiene un límite de tiempo, cuatro minutos por defecto, para que un modelo lento no pueda bloquear la aplicación.
Revisa antes de que se guarde nada
1 2 3 4
La vista previa muestra:
1
Un resumen de cambios: habilidades agregadas y eliminadas, certificaciones agregadas, descripciones modificadas y cambios de alto riesgo.
2
Qué hizo la selección de viñetas, por ejemplo "Viñetas conservadas: 8 de 14 (hasta 3 por puesto o proyecto) · Se recortaron 4 más para caber en el límite de páginas".
3
Un aviso de alto riesgo cuando la IA añadió algo, normalmente una habilidad tomada de la descripción del puesto, para que confirmes que es cierto en tu caso.
4
Diffs de antes y después para el resumen, las habilidades y cada viñeta modificada.
Confirmar y guardar conserva el resultado; Rechazar y regenerar lo descarta y lo intenta de nuevo. La decisión abarca toda la vista previa. Las salvaguardas impiden cifras, empleadores y fechas inventados, pero la redacción todavía puede exagerar tu papel. Lee cada cambio: tú eres la última comprobación.
Al confirmar, el currículum adaptado se guarda como un currículum nuevo titulado "Puesto @ Empresa", vinculado a su maestro y a su oferta. Su tarjeta aparece en la columna Enviado del tablero de seguimiento y, si los activaste en Configuración, se generan con él una carta de presentación, un mensaje de contacto y la preparación para la entrevista. Todo sigue siendo editable en el constructor.
Junto con la vista previa aparece una tarjeta ATS Score Breakdown bajo el formulario. Es una heurística ponderada de coincidencia de palabras clave, cobertura de habilidades, coincidencia del título del puesto, completitud de las secciones y consistencia de las fechas, no una simulación de ningún sistema real de seguimiento de candidatos. Al confirmar, se guarda con el currículum adaptado.
Adapta varias ofertas en cola
¿Te postulas a varias ofertas a la vez? Pega cada descripción del puesto en la Cola de adaptación y Resume Matcher las adapta una tras otra, con una breve pausa entre ofertas (5 segundos por defecto) para no toparte con el límite de peticiones de tu proveedor. El puesto, la empresa y el ID de la oferta se detectan del texto sin llamar a la IA.
Las ofertas en cola se saltan la revisión. Cada una pasa por los mismos cambios dirigidos y redes de seguridad, y después se guarda directamente como currículum adaptado, con su tarjeta en el tablero de seguimiento, su puntuación ATS y los extras que tengas activados en Configuración. La cola conserva todas las viñetas e ignora el límite de páginas, así que lee cada resultado en el constructor antes de enviarlo.
La cola se guarda en la base de datos, así que sobrevive a una recarga o a un reinicio. Una oferta que falla, por ejemplo porque superó el límite de tiempo, no se reintenta: vuelve a añadirla.
Qué puede cambiar la IA y qué no.
La adaptación está pensada para reformular, no para inventar. Estas reglas se aplican en el código, no solo se piden en el prompt.
La IA puede
Reformular tu resumen y tus viñetas con el lenguaje de la oferta
Reordenar y destacar habilidades
Elegir qué viñetas conservar, dentro de tu límite de páginas y de los puntos por puesto
Añadir una habilidad que pide la oferta, si aparece literalmente en la descripción del puesto (marcada como de alto riesgo)
La IA no puede
Cambiar tu nombre, correo, teléfono, ubicación o enlaces
Cambiar empleadores, cargos o fechas
Cambiar centros de estudio, títulos o fechas de formación
Añadir una cifra, un porcentaje o una métrica que no esté en tu original
Quitar tus habilidades, certificaciones, idiomas o premios existentes
Añadir puestos, centros de estudio o proyectos nuevos
Tocar tus secciones personalizadas
02 Edita. Cambia lo que quieras y ve la página tal como se imprimirá.
Cada currículum, maestro o adaptado, se abre en el constructor: un editor a la izquierda y una vista previa en vivo y paginada a la derecha, con pestañas para el currículum, la carta de presentación, el mensaje de contacto, la preparación para la entrevista, la revisión ATS y, en los currículums adaptados, Coincidencia JD.
7
plantillas, a una y dos columnas
A4 / Carta
tamaños de página, impresos tal como se ven en la vista previa
5–25 mm
de margen por lado, 10 mm por defecto
El constructor
Edita cada sección en el sitio: información personal, resumen, experiencia, educación, proyectos, y habilidades y premios.
Da formato al texto de las viñetas con negrita, cursiva, subrayado y enlaces, y activa o desactiva el marcador de viñeta en cada línea.
Añade puestos, centros de estudio, proyectos y viñetas; duplica o elimina elementos.
Renombra, oculta, muestra y reordena secciones, con mover arriba y abajo o arrastrar y soltar.
Añade secciones personalizadas de tres tipos: texto libre, una lista de entradas como la de un empleo, o una lista simple de elementos.
Haz zoom, activa una guía de márgenes y sigue el recuento de páginas en vivo.
Regenerar con IA, Restablecer a la última versión guardada, Guardar (también se guarda solo mientras editas) y Descargar en PDF con la configuración actual de tu plantilla.
Moderno de dos columnas con el acento azul.
Siete plantillas
Una columna
1 columna
Dos columnas
2 columnas
Moderno
1 columna, color de acento
Moderno de dos columnas
2 columnas, color de acento
LaTeX
1 columna
Limpio
1 columna
Vívido
2 columnas, color de acento
Las plantillas de dos columnas mantienen el contenido principal primero en el orden de lectura, así que los extractores de texto leen tu experiencia antes que la barra lateral.
Controles de formato
Tamaño de página
A4 o Carta (EE. UU.).
Márgenes
5–25 mm en cada lado (10 mm por defecto).
Espaciado
Espaciado entre secciones, entre elementos y entre líneas, en cinco pasos.
Tamaño de fuente
Tamaño base, más la escala de tu nombre y de los encabezados de sección.
Fuentes
Serif, sans-serif o monoespaciada, elegidas por separado para los encabezados y el cuerpo del texto.
Modo compacto e iconos de contacto
Activados o desactivados.
Color de acento
Azul, verde, naranja o rojo, en Moderno, Moderno de dos columnas y Vívido.
Restablecer valores
En cualquier momento.
Coincidencia JD
En un currículum adaptado, la pestaña Coincidencia JD pone la descripción del puesto junto a tu currículum y resalta en amarillo cada palabra clave de la descripción que tu currículum ya contiene.
105 palabras clave extraídas, 31 encontradas en el currículum: 30%. La presentación de la empresa en la oferta también cuenta.
La tasa de coincidencia es aritmética simple, sin IA de por medio:
1
Toma las palabras de la descripción del puesto, descarta las palabras comunes del inglés y el relleno típico de las ofertas (como "team", "role" y "experience") y conserva las palabras de tres o más letras.
2
Haz lo mismo con tu currículum.
3
Tasa de coincidencia = palabras clave de la descripción encontradas en tu currículum ÷ todas las palabras clave de la descripción.
Se muestra en verde a partir del 50%, en ámbar desde el 30% y en rojo por debajo del 30%. Como cuenta cada palabra significativa de la oferta, incluida la presentación de la empresa, un currículum sólido suele quedar entre el 30% y el 50%. Úsala para detectar habilidades y términos que faltan, no como una nota de aprobado. Por ahora solo cuenta palabras con letras simples de la a a la z, así que las palabras con tilde y el texto en chino, japonés o coreano no se cuentan.
Revisión ATS y puntuación ATS
Ninguna de las dos simula el sistema de seguimiento de candidatos de una empresa. Prueban lo que tú controlas: si un programa puede leer tu PDF y qué tan bien cubre el currículum la oferta.
Revisión ATS
La pestaña Revisión ATS renderiza tu último currículum guardado con la plantilla actual, el mismo PDF que te da Descargar, y lo vuelve a leer como lo hace un extractor de texto ATS sencillo. No interviene ninguna IA. Puntúa la legibilidad y el contenido sobre 100 y enumera cada comprobación: texto seleccionable, codificación de caracteres, texto frente a imágenes, un orden de lectura único, encabezados y pies de página, imágenes, extensión, datos de contacto, títulos de sección y fechas. Una prueba de ida y vuelta compara el texto extraído con los datos de tu currículum. Funciona con cualquier currículum guardado.
Puntuación ATS
En un currículum adaptado, el ATS Score Breakdown puntúa el currículum frente a su oferta: 40% coincidencia de palabras clave, 20% cobertura de habilidades, 15% coincidencia del título del puesto, 15% completitud de las secciones y 10% consistencia de las fechas. Enumera las palabras clave que faltan, las palabras clave de tu currículum maestro que puedes añadir sin riesgo y recomendaciones. Se guarda con el currículum; después de editar, guarda y haz clic en Recalcular. La puntuación se calcula con código simple, sin llamar a la IA.
03 Escribe. La carta de presentación y la preparación para la entrevista, a partir del mismo currículum.
Cada una se escribe a partir de tu currículum para el mismo puesto. Genéralas cuando quieras desde las pestañas del constructor, o actívalas en Configuración para que se creen cada vez que confirmas un currículum adaptado.
100–150
palabras en una carta de presentación
70–100
palabras en un mensaje de contacto
5
partes en la preparación de entrevistas, del encaje con el puesto a los temas clave
Carta de presentación
Una carta breve, de 100 a 150 palabras, escrita a partir de tu currículum para esa oferta concreta. El prompt le indica al modelo que no invente nada que no esté en tu currículum. Edítala junto a la vista de impresión y después guárdala, regenérala o descárgala en PDF.
Mensaje de contacto
Un correo en frío o un mensaje de LinkedIn de 70 a 100 palabras para el mismo puesto, escrito a partir de tu currículum. Edítalo, regenéralo y cópialo al portapapeles. Su prompt, como el de la carta de presentación, se puede sustituir por el tuyo en Configuración.
Preparación para la entrevista
Análisis de encaje: dónde coincide tu experiencia con el puesto y qué carencias conviene abordar.
Preguntas basadas en el currículum que probablemente te hará un entrevistador, cada una con un área de enfoque y puntos sugeridos para responder.
Seguimiento de proyectos: preguntas más a fondo sobre tus proyectos.
Brechas de habilidades: lo que pide el puesto, por qué importa y cómo prepararte. Son objetivos de preparación, no habilidades añadidas a tu currículum.
Puntos clave: temas breves a los que volver.
Enriquecimiento con IA, para el currículum maestro
Abre tu currículum maestro y haz clic en Mejorar currículum. La IA busca entradas de experiencia y de proyectos con poco contenido y te hace hasta seis preguntas sobre ellas. Con tus respuestas escribe de dos a cuatro viñetas nuevas por elemento, que revisas antes de hacer clic en Agregar al currículum. Solo usa los datos que tú das; no inventa métricas.
Regenerar con IA, para cualquier currículum
En el constructor, elige las entradas de experiencia, los proyectos o las habilidades que quieres rehacer y escribe una instrucción como "usa verbos de acción más fuertes" o "destaca el liderazgo". Ves una vista previa de antes y después antes de que se aplique nada. El prompt prohíbe hechos, métricas, fechas, empresas, cargos o logros nuevos.
04 Sigue. Todas tus candidaturas en un solo tablero.
El seguimiento de candidaturas es un tablero Kanban para tu búsqueda de empleo. Cada currículum adaptado que confirmas recibe una tarjeta automáticamente, y puedes añadir tarjetas a mano para ofertas para las que todavía no has adaptado un currículum.
7
etapas, de Guardado a Aceptado o Rechazado
1
tarjeta por cada currículum adaptado que confirmas, añadida automáticamente
0
portales de empleo conectados: el tablero es tu propio registro
Siete etapas
Guardado, Enviado, Sin respuesta, Respuesta, Entrevista, Aceptado y Rechazado.
Tarjetas
La empresa, el puesto, la fecha en que enviaste la candidatura y una insignia Currículum compartido cuando el mismo currículum maestro respalda más de una candidatura. La fecha se registra cuando se crea una tarjeta en cualquier etapa que no sea Guardado, o cuando sale de Guardado por primera vez.
Trabajar con el tablero
Arrastra tarjetas dentro de una columna o a otra etapa. Desplázate con los botones de flecha o salta a una etapa con los chips. Selecciona varias tarjetas para moverlas todas con Mover a…, o elimínalas de una vez. Gestionar oculta las etapas que no usas; al menos una siempre queda visible.
Detalle de la tarjeta
Haz clic en una tarjeta para leer la descripción completa del puesto, tomar notas y abrir el currículum exacto con el que te postulaste: Editar currículum te lleva al constructor. Si ese currículum se eliminó después, la tarjeta se abre igual y te lo indica.
Añade una candidatura a mano
Haz clic en Añadir candidatura, elige un currículum, pega la descripción del puesto y elige una etapa inicial, como Guardado para una oferta que piensas adaptar más tarde. La empresa y el puesto son opcionales: si los dejas en blanco, la IA los extrae de la descripción del puesto.
05 Ejecútalo a tu manera. Tu máquina, tu modelo, tus datos.
Resume Matcher no incluye ningún modelo de IA. Conectas uno, en la nube o en tu propia máquina, y la aplicación se encarga de los prompts, las comprobaciones y el formato.
11
formas de conectar un modelo: una clave de API, tu propio equipo o un plan que ya pagas
7
idiomas, para la interfaz y para lo que escribe la IA
0
código de analítica o de rastreo en la aplicación
Conecta un modelo
Proveedores compatibles, su modelo por defecto en Configuración y dónde se ejecutan
Proveedor
Modelo por defecto
Dónde se ejecuta
OpenAI
gpt-5-nano-2025-08-07
Nube
Anthropic (Claude)
claude-haiku-4-5-20251001
Nube
Google Gemini
gemini-3-flash-preview
Nube
DeepSeek
deepseek-chat
Nube
OpenRouter
deepseek/deepseek-chat
Nube
Groq
llama-3.3-70b-versatile
Nube
Azure AI Foundry
mistral-large-latest
Nube
Ollama
gemma3:4b
Tu máquina
Servidor compatible con OpenAI (llama.cpp, vLLM, LM Studio)
Lo escribes tú
Tu máquina
Plan de ChatGPT (Sign in with ChatGPT)
Los modelos de tu cuenta
Nube
Plan de Claude (vía Claude Code)
El predeterminado de Claude Code
Nube
Puedes escribir cualquier nombre de modelo que ofrezca tu proveedor. No hay un modelo mínimo oficial, pero los modelos pequeños pueden tener problemas con el formato estructurado de edición que usa el paso de adaptación.
Elígelo en Configuración (proveedor, modelo, clave de API y, para un proxy o un servidor local, una URL base; Guardar y después Probar conexión), o con variables de entorno en apps/backend/.env o en el entorno de Docker: LLM_PROVIDER, LLM_MODEL, LLM_API_KEY y, si hace falta, LLM_API_BASE. Los nombres de proveedor van en minúsculas (anthropic, ollama). La configuración guardada en la aplicación tiene prioridad sobre las variables de entorno.
También en Configuración
Estado del sistema
Si el LLM funciona bien y la base de datos está conectada, el número de currículums, ofertas y adaptaciones, y si hay un currículum maestro configurado.
Esfuerzo de razonamiento
Para modelos con capacidad de razonamiento (familia gpt-5, Claude 3.7+, DeepSeek R1, OpenAI o1/o3). Automático no envía nada y es la opción más compatible.
Generación de contenido
Interruptores que generan una carta de presentación, un mensaje de contacto y la preparación para la entrevista cada vez que confirmas un currículum adaptado. Los tres están desactivados por defecto. Los prompts de la carta de presentación y del mensaje de contacto se pueden sustituir por los tuyos, siempre que conserven los marcadores {job_description}, {resume_data} y {output_language}.
Configuración de Prompts
La intensidad de adaptación predeterminada.
Zona de Peligro
Borrar Claves API elimina todas las claves guardadas; Restablecer Base de Datos borra todos los currículums, ofertas, contenido generado y la cola de adaptación. Ninguna de las dos acciones se puede deshacer.
Las claves de API que introduces en Configuración se guardan cifradas. Cada proveedor conserva su propia clave, así que cambiar de proveedor no borra la del otro. Los planes de ChatGPT y de Claude no necesitan clave; los creó la comunidad y tienen advertencias que conviene leer antes.
Resume Matcher también incluye un servidor MCP, así que Claude Code, Claude Desktop, Cursor o Codex pueden trabajar directamente con tus currículums. El modelo de tu cliente escribe el contenido; Resume Matcher lo guarda, lo comprueba, lo puntúa y lo renderiza, en la propia base de datos de la aplicación, sin una clave de IA propia. Necesita una instalación local, no Docker.
Inglés, español, chino (simplificado), japonés, portugués de Brasil, francés y coreano. El idioma de la interfaz cambia la interfaz; el idioma del contenido es en el que escribe la IA, para currículums adaptados, cartas de presentación, mensajes de contacto y preparación para entrevistas. Se configuran por separado, así que puedes usar la interfaz en inglés y escribir un currículum en japonés. Los PDF incluyen fuentes Noto Sans para el texto en chino, japonés y coreano.
Exportación a PDF
Los currículums y las cartas de presentación se exportan en PDF. La aplicación abre un Chromium sin interfaz sobre una versión de tu currículum solo para impresión y la imprime, así que el PDF contiene texto real que se puede seleccionar, copiar y leer con software. Los encabezados son encabezados de verdad, los diseños a dos columnas mantienen el contenido principal primero en el orden de lectura y la página coincide con el constructor: plantilla, fuentes, espaciado y tamaño de página.
La exportación necesita el frontend en marcha. En local, instala el Chromium de Playwright (uv run playwright install chromium) o ten instalado Chrome o Edge; la imagen de Docker lo incluye todo.
Tus datos
Todo vive en una carpeta, apps/backend/data/, o en el volumen de Docker: resume_matcher.db, una base de datos SQLite con tus currículums, descripciones de puesto, versiones adaptadas y tablero de seguimiento (o PostgreSQL, si defines DATABASE_URL); config.json para la configuración no secreta; y tus claves de API, cifradas en reposo con un archivo de clave secreta que solo tu cuenta de usuario puede leer.
Solo salen de tu máquina las peticiones de IA que tú lanzas, enviadas al proveedor que elegiste. Con un proveedor en la nube, eso incluye tu currículum, con tus datos de contacto, y la descripción del puesto. La aplicación no contiene código de analítica ni de rastreo. Al arrancar, la librería de IA (LiteLLM) descarga una lista pública de precios de modelos; esa petición no lleva ninguno de tus datos. Usa Ollama u otro servidor de modelos local, y tu currículum, las descripciones de puesto y cada salida de la IA se quedan en tu equipo.
Instálalo
Docker es lo más rápido. Resume Matcher se publica como una sola imagen de contenedor en Docker Hub, donde es una imagen Docker-Sponsored Open Source, y en GitHub Container Registry, ambas compiladas para linux/amd64 y linux/arm64. Después abre http://localhost:3000/settings para conectar un modelo.
Para construirlo desde el repositorio, clónalo y arráncalo con Docker Compose: git clone y después docker compose up -d.
El volumen resume-data guarda tu base de datos y tu configuración, así que tus datos sobreviven a las actualizaciones del contenedor. Fija una versión (por ejemplo, :1.3.0) para despliegues reproducibles. Para ejecutarlo desde el código fuente, necesitas Python 3.13+, Node.js 22+, npm y uv.
No es un sitio web alojado. Lo ejecutas tú, en local o en Docker. Está hecho para un solo usuario.
No envía candidaturas ni se conecta a portales de empleo ni a los sistemas de las empresas. El tablero de seguimiento es tu propio registro.
No predice cómo te clasificará un ATS. La Revisión ATS comprueba si el texto se puede volver a leer de su propio PDF, y las puntuaciones son heurísticas de palabras clave y de secciones. Ninguna simula el software de una empresa.
No escribe un currículum desde cero. Trabaja con el currículum que subes o con tus respuestas en el asistente.
No lee PDF escaneados. Los archivos necesitan una capa de texto.
Solo exporta PDF. Acepta archivos de Word como entrada, no como salida.
Adapta el próximo.
Backend, frontend, SRE o ML: pega la oferta que quieres conseguir y envía un currículum que hable su stack. Gratis, de código abierto, y se ejecuta en tu máquina.