Proyecto personal · En desarrollo
CVMatch AI
Herramienta de búsqueda de empleo que agrega ofertas de múltiples fuentes, analiza la compatibilidad con tu CV y genera un CV adaptado en PDF profesional para cada candidatura.
El problema

Buscar trabajo implica revisar varias plataformas a la vez, analizar cada oferta manualmente y adaptar el CV para cada candidatura desde cero. Es un proceso repetitivo, lento y fácil de desorganizar cuando llevas varias ofertas en paralelo.

Lo construí directamente para mi propia búsqueda de trabajo. Con la motivación adicional de aprender Django en un proyecto real.

La solución

Aplicación web con Django 6 + PostgreSQL 16 que busca simultáneamente en Adzuna, Jooble y Arbeitnow. Desde una sola pantalla puedes filtrar por modalidad, experiencia y salario, y gestionar el estado de cada oferta.

Cada oferta se puede analizar con Groq AI, que extrae automáticamente el stack requerido, la modalidad, los años de experiencia y el rango salarial. Si subes tu CV, genera un porcentaje de compatibilidad, las palabras clave que faltan y sugerencias de mejora concretas.

El generador de CV reescribe tu perfil completo en formato JSON estructurado, adaptando el lenguaje y el orden de secciones a cada oferta. Ese JSON se convierte en un PDF profesional con WeasyPrint, en cinco plantillas distintas.

Las tareas pesadas se procesan de forma asíncrona con Celery + Redis para no bloquear la interfaz.

Stack y detalles
Lo que aprendí

Este proyecto fue mi primera aplicación seria con Django. Aprendí a estructurar un proyecto real con múltiples módulos, a manejar tareas asíncronas con Celery y a trabajar con la generación de PDFs desde HTML/CSS con WeasyPrint.

También fue la primera vez que implementé cifrado simétrico para datos sensibles de usuario, lo que me obligó a pensar en el modelo de seguridad desde el principio en lugar de añadirlo al final.

¿Qué haría diferente hoy?
  • Separaría el generador de PDF en un microservicio independiente, ya que WeasyPrint es pesado y ralentiza el contenedor principal.
  • Usaría una cola de mensajes más robusta como RabbitMQ en lugar de Redis para Celery en producción.
  • Añadiría tests de integración además de los unitarios, especialmente para el flujo completo de generación de CV.
  • Implementaría un sistema de caché más fino para las búsquedas de ofertas y no sobrecargar las APIs externas.
Diagramas
Arquitectura · clic para ampliar
Flujo de usuario · clic para ampliar
Buscador de ofertas

Búsqueda por palabras clave, ubicación y fuente. Filtra por modalidad, experiencia y salario mínimo antes de lanzar la consulta.

Buscador con IA

Cada oferta incluye un resumen generado por IA con el stack requerido, modalidad, experiencia y salario, sin necesidad de abrir el enlace original.

Análisis de compatibilidad

La IA cruza la oferta con tu CV y devuelve un porcentaje de compatibilidad, las palabras clave que faltan y cambios concretos para mejorar tus opciones de pasar el filtro ATS.

Generar CV adaptado

La IA reescribe tu CV completo adaptando el lenguaje y el orden de secciones a la oferta. Elige plantilla, añade foto si quieres y descarga el PDF en segundos.

Crear CV desde cero

Pega tu CV en texto o usa uno de los guardados en tu perfil. La IA lo reestructura, lo mejora y genera una vista previa en tiempo real antes de exportar.

Plantillas PDF
Capturas