{"id":14957297,"url":"https://github.com/srbhr/resume-matcher","last_synced_at":"2026-10-24T20:03:23.857Z","repository":{"id":37203379,"uuid":"253975496","full_name":"srbhr/Resume-Matcher","owner":"srbhr","description":"The #1 AI Harness for Building Resumes, PDFs, Cover Letters \u0026 more, locally with 100+ LLMs support.","archived":false,"fork":false,"pushed_at":"2026-10-17T04:54:13.000Z","size":176308,"stargazers_count":28758,"open_issues_count":39,"forks_count":5086,"subscribers_count":92,"default_branch":"main","last_synced_at":"2026-10-19T01:31:52.156Z","etag":null,"topics":["applicant-tracking-system","ats","hacktoberfest","machine-learning","natural-language-processing","nextjs","python","resume","resume-builder","resume-parser","text-similarity","typescript","vector-search","word-embeddings"],"latest_commit_sha":null,"homepage":"https://resumematcher.fyi/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/srbhr.png","metadata":{"files":{"readme":"README.es.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","accessibility":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"srbhr","custom":["https://github.com/sponsors/srbhr"]}},"created_at":"2020-04-08T03:26:49.000Z","updated_at":"2026-10-19T00:58:27.000Z","dependencies_parsed_at":"2026-10-10T14:28:08.740Z","dependency_job_id":null,"html_url":"https://github.com/srbhr/Resume-Matcher","commit_stats":{"total_commits":258,"total_committers":33,"mean_commits":7.818181818181818,"dds":0.4496124031007752,"last_synced_commit":"0b39f8c616f8cfb149572a3f15e470b313415271"},"previous_names":["srbhr/naive-resume-matching"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/srbhr/Resume-Matcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srbhr%2FResume-Matcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srbhr%2FResume-Matcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srbhr%2FResume-Matcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srbhr%2FResume-Matcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srbhr","download_url":"https://codeload.github.com/srbhr/Resume-Matcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srbhr%2FResume-Matcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38345274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["applicant-tracking-system","ats","hacktoberfest","machine-learning","natural-language-processing","nextjs","python","resume","resume-builder","resume-parser","text-similarity","typescript","vector-search","word-embeddings"],"created_at":"2024-09-24T13:14:37.793Z","updated_at":"2026-10-20T20:26:03.752Z","avatar_url":"https://github.com/srbhr.png","language":"Python","funding_links":["https://github.com/sponsors/srbhr","https://www.buymeacoffee.com/srbhr"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n[![Resume Matcher](assets/header.webp)](https://www.resumematcher.fyi)\n\n# Resume Matcher\n\n[English](README.md) | **Español** | [简体中文](README.zh-CN.md) | [日本語](README.ja.md)\n\n[𝙹𝚘𝚒𝚗 𝙳𝚒𝚜𝚌𝚘𝚛𝚍](https://dsc.gg/resume-matcher) ✦ [𝚆𝚎𝚋𝚜𝚒𝚝𝚎](https://resumematcher.fyi) ✦ [𝙷𝚘𝚠 𝚝𝚘 𝙸𝚗𝚜𝚝𝚊𝚕𝚕](https://resumematcher.fyi/docs/installation) ✦ [𝙲𝚘𝚗𝚝𝚛𝚒𝚋𝚞𝚝𝚘𝚛𝚜](#contributors) ✦ [𝚂𝚙𝚘𝚗𝚜𝚘𝚛](#sponsors) ✦ [𝚃𝚠𝚒𝚝𝚝𝚎𝚛/𝚇](https://twitter.com/srbhr_r) ✦ [𝙻𝚒𝚗𝚔𝚎𝚍𝙸𝚗](https://www.linkedin.com/company/resume-matcher/) ✦ [𝙲𝚛𝚎𝚊𝚝𝚘𝚛](https://srbhr.com)\n\nConstructor de currículums de código abierto que adapta tu currículum (CV u hoja de vida) a cada oferta de trabajo. Una herramienta de IA autoalojada que funciona con Claude, ChatGPT, DeepSeek, Kimi, GLM, Gemma y otros LLM, locales o remotos.\n\nEsperamos convertir esto en **el VS Code para crear currículums**.\n\n![Resume Matcher Demo](assets/Resume_Matcher_Demo_2.gif)\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![Stars](https://img.shields.io/github/stars/srbhr/Resume-Matcher?labelColor=F0F0E8\u0026style=for-the-badge\u0026color=1d4ed8)\n![Apache 2.0](https://img.shields.io/github/license/srbhr/Resume-Matcher?labelColor=F0F0E8\u0026style=for-the-badge\u0026color=1d4ed8) ![Forks](https://img.shields.io/github/forks/srbhr/Resume-Matcher?labelColor=F0F0E8\u0026style=for-the-badge\u0026color=1d4ed8) ![version](https://img.shields.io/badge/Version-1.3%20Crescendolls-FFF?labelColor=F0F0E8\u0026style=for-the-badge\u0026color=1d4ed8)\n\n[![Discord](https://img.shields.io/discord/1122069176962531400?labelColor=F0F0E8\u0026logo=discord\u0026logoColor=1d4ed8\u0026style=for-the-badge\u0026color=1d4ed8)](https://dsc.gg/resume-matcher) [![Website](https://img.shields.io/badge/website-Resume%20Matcher-FFF?labelColor=F0F0E8\u0026style=for-the-badge\u0026color=1d4ed8)](https://resumematcher.fyi) [![LinkedIn](https://img.shields.io/badge/LinkedIn-Resume%20Matcher-FFF?labelColor=F0F0E8\u0026logo=LinkedIn\u0026style=for-the-badge\u0026color=1d4ed8)](https://www.linkedin.com/company/resume-matcher/)\n\n\u003ca href=\"https://trendshift.io/repositories/565\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/565\" alt=\"srbhr%2FResume-Matcher | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n\n![Vercel OSS Program](https://vercel.com/oss/program-badge.svg)\n\n\u003c/div\u003e\n\n\u003e \\[!IMPORTANT]\n\u003e\n\u003e El proyecto necesita tu ayuda y apoyo. Si puedes donar una pequeña cantidad, me ayudarás a seguir desarrollando y mejorando Resume Matcher.\n\n\u003cdiv align=\"center\"\u003e\n\n[![Sponsor on GitHub](https://img.shields.io/github/sponsors/srbhr?style=for-the-badge\u0026label=Sponsor\u0026color=1d4ed8\u0026labelColor=F0F0E8\u0026logo=github\u0026logoColor=black)](https://github.com/sponsors/srbhr) [![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026color=1d4ed8\u0026labelColor=F0F0E8\u0026logoColor=black)](https://www.buymeacoffee.com/srbhr)\n\n**¿Patrocinas en nombre de una empresa?** Coloca tu logo ante más de 27k desarrolladores → **[conviértete en patrocinador ↓](#sponsors)**\n\n\u003c/div\u003e\n\n## Primeros pasos\n\nResume Matcher funciona creando un currículum maestro que puedes usar para adaptar cada postulación. Instrucciones de instalación aquí: [Cómo instalar](#how-to-install)\n\n### Cómo funciona\n\n1. **Sube** tu currículum maestro (PDF o DOCX)\n2. **Pega** la descripción del puesto al que apuntas\n3. **Revisa** mejoras y contenido adaptado generado por IA\n4. **Genera** carta de presentación y plantillas de email para la postulación\n5. **Personaliza** el diseño y las secciones a tu estilo\n6. **Exporta** como PDF profesional con tu plantilla preferida\n\n### Hecho para ingenieros de software\n\nInstalar Resume Matcher requiere una terminal, así que la mayoría de quienes lo usan escriben software. Se adapta a tu forma de trabajar:\n\n- **Corre en tu máquina.** Un backend FastAPI, un frontend Next.js y un archivo SQLite. Clona el repositorio o inicia un contenedor Docker. No creas ninguna cuenta y tu currículum se queda en tu propia base de datos.\n- **Tú eliges el modelo.** Usa una API key de OpenAI, Anthropic, Gemini, DeepSeek, OpenRouter o Groq, o ejecuta un modelo local con Ollama para que tu currículum nunca salga de tu máquina.\n- **Claude Code puede manejarlo.** El [servidor MCP](SETUP.es.md#usar-resume-matcher-desde-claude-code-o-claude-desktop-mcp) permite que Claude Code, Cursor o Codex escriban el currículum adaptado mientras Resume Matcher lo guarda, lo revisa y lo renderiza, sin API key de LLM.\n- **Se limita a tu experiencia real.** Los prompts de adaptación prohíben añadir habilidades, herramientas, empresas o métricas que no estén en tu currículum maestro.\n- **Las puntuaciones son código que puedes leer.** La puntuación ATS ([`services/ats.py`](apps/backend/app/services/ats.py)) y la revisión ATS ([`services/ats_parse/`](apps/backend/app/services/ats_parse/)) no llaman a ningún LLM. La revisión ATS pasa tu PDF por pdfminer para mostrarte lo que extraería un sistema de seguimiento de candidatos (ATS).\n- **Las plantillas parecen currículums de ingeniería.** Deedy, Modern Deedy y un diseño estilo LaTeX conviven con opciones de una y dos columnas. Siete de los diseños también existen como proyectos pdfLaTeX editables para Overleaf en [resume-matcher-templates](https://github.com/resume-matcher/resume-matcher-templates).\n\n### Mantente conectado\n\n[![Discord](assets/resume_matcher_discord.webp)](https://dsc.gg/resume-matcher)\n\nÚnete a nuestro [Discord](https://dsc.gg/resume-matcher) para discusiones, solicitudes de funcionalidades y soporte de la comunidad.\n\n[![LinkedIn](assets/resume_matcher_linkedin.webp)](https://www.linkedin.com/company/resume-matcher/)\n\nSíguenos en [LinkedIn](https://www.linkedin.com/company/resume-matcher/) para actualizaciones.\n\n![Star Resume Matcher](assets/star_resume_matcher.webp)\n\nDale una estrella al repositorio para apoyar el desarrollo y recibir notificaciones de nuevas versiones.\n\n\u003ca id=\"sponsors\"\u003e\u003c/a\u003e\n\n## Patrocinadores\n\n![sponsors](assets/sponsors.webp)\n\nResume Matcher es libre y de código abierto, y se mantiene gracias a sus patrocinadores y colaboradores. Si te resulta útil, considera apoyar su desarrollo.\n\n### Empresas que respaldan Resume Matcher\n\nPatrocina con un nivel de empresa y **tu logo + enlace + descripción aparecerán aquí** — ante una comunidad de **más de 27k estrellas y 4.9k forks**, destacada en [Trendshift](https://trendshift.io/repositories/565) y el [Programa Vercel OSS](https://vercel.com/oss).\n\n| Patrocinador | Descripción |\n|---------|-------------|\n| [APIDECK](https://apideck.com?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) | Una API para conectar tu aplicación con más de 200 plataformas SaaS (contabilidad, HRIS, CRM, almacenamiento de archivos). Crea integraciones una vez, no 50. 🌐 [apideck.com](https://apideck.com?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) |\n| [Vercel](https://vercel.com?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) | Resume Matcher es parte del programa Vercel OSS // Summer 2025 🌐 [vercel.com](https://vercel.com?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) |\n| [Cubic.dev](https://cubic.dev?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) | Cubic ofrece revisiones de PR para Resume Matcher 🌐 [cubic.dev](https://cubic.dev?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) |\n| [Kilo Code](https://kilo.ai?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) | Kilo Code proporciona revisiones de código de IA y créditos de codificación a Resume Matcher 🌐 [kilo.ai](https://kilo.ai?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) |\n| [ZanReal](https://zanreal.com/?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) | ZanReal es una empresa de desarrollo impulsada por IA que crea soluciones cloud escalables, desde la estrategia y la UX hasta DevOps, ayudando a los equipos a lanzar más rápido y convertir ideas en producción. 🌐 [zanreal.com](https://zanreal.com/?utm_source=resumematcher\u0026utm_medium=github\u0026utm_campaign=sponsors) |\n| **✦ Tu empresa aquí** | Llega a más de 27k desarrolladores y 4.9k forks. **[Conviértete en patrocinador →](https://github.com/sponsors/srbhr)** |\n\nPor favor lee nuestra [Sponsorship Guide](https://resumematcher.fyi/docs/sponsoring) para detalles de cómo tu patrocinio ayuda al proyecto. Recibirás un agradecimiento especial en el ReadME y en nuestro sitio web.\n\n\u003ca id=\"support-the-development-by-donating\"\u003e\u003c/a\u003e\n\n### Apoya como particular\n\n![donate](assets/supporting_resume_matcher.webp)\n\nCada aporte mantiene Resume Matcher gratis y financia nuevas funciones — y recibirás un agradecimiento en el ReadME y en nuestro sitio web.\n\n| Plataforma  | Enlace |\n|-----------|--------|\n| GitHub | [![GitHub Sponsors](https://img.shields.io/github/sponsors/srbhr?style=for-the-badge\u0026color=1d4ed8\u0026labelColor=F0F0E8\u0026logo=github\u0026logoColor=black)](https://github.com/sponsors/srbhr) |\n| Buy Me a Coffee | [![BuyMeACoffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026color=1d4ed8\u0026labelColor=F0F0E8\u0026logoColor=black)](https://www.buymeacoffee.com/srbhr) |\n\n## Nota del Creador\n\nGracias por visitar Resume Matcher. Si quieres conectar, colaborar o simplemente saludar, ¡no dudes en contactarme!\n~ **Saurabh Rai** ✨\n\nPuedes seguirme en:\n\n- Website: [https://srbhr.com](https://srbhr.com)\n- Linkedin: [https://www.linkedin.com/in/srbhr/](https://www.linkedin.com/in/srbhr/)\n- Twitter: [https://twitter.com/srbhr_r](https://twitter.com/srbhr_r)\n- GitHub: [https://github.com/srbhr](https://github.com/srbhr)\n\n## Funciones clave\n\n![resume_matcher_features](assets/features.webp)\n\n### Funciones principales\n\n**Currículum maestro**: crea un currículum maestro completo a partir de tu currículum actual.\n\n![Dashboard with a master resume and seven tailored resumes](assets/step_2.webp)\n\n### Constructor de currículum\n\n![Resume Builder with the template picker and a live preview of a software engineer resume](assets/step_5.webp)\n\nPega una descripción del puesto y obtén un currículum adaptado con ayuda de IA.\n\nPuedes:\n\n- Modificar el contenido sugerido\n- Añadir/quitar secciones\n- Reordenar secciones con arrastrar y soltar\n- Elegir entre múltiples plantillas\n\n### Generador de carta de presentación y email\n\nGenera cartas de presentación y plantillas de email adaptadas según la descripción del puesto y tu currículum.\n\n![Cover letter editor next to its PDF preview](assets/cover_letter.webp)\n\n### Puntuación del currículum (función en desarrollo)\n\nEstamos trabajando en una función de puntuación que analiza tu currículum frente a la descripción del puesto y ofrece un puntaje de coincidencia con sugerencias de mejora.\n\n![JD Match tab with the ATS score breakdown and matching keywords highlighted](assets/keyword_highlighter.webp)\n\n### Exportación a PDF\n\nExporta tu currículum adaptado y tu carta de presentación en PDF.\n\n### Plantillas\n\nLas plantillas exportan PDF con texto real, en A4 o US Letter, que los sistemas de seguimiento de candidatos (ATS) pueden leer.\n\n| Nombre de plantilla | Vista previa | Descripción |\n|---------------------|-------------|-------------|\n| **Una columna** | ![Una columna](assets/pdf-templates/single-column.webp) | Diseño tradicional de ancho completo con máxima densidad de contenido. [Ver PDF](assets/pdf-templates/single-column.pdf) |\n| **Dos columnas** | ![Dos columnas](assets/pdf-templates/two-column.webp) | Columna principal centrada en experiencia con barra lateral para habilidades. [Ver PDF](assets/pdf-templates/two-column.pdf) |\n| **Moderno** | ![Moderno](assets/pdf-templates/modern-single-column.webp) | Acentos coloridos con colores de tema personalizables. [Ver PDF](assets/pdf-templates/modern-single-column.pdf) |\n| **Moderno de dos columnas** | ![Moderno de dos columnas](assets/pdf-templates/modern-two-column.webp) | Diseño de dos columnas moderno con acentos coloridos y temas. [Ver PDF](assets/pdf-templates/modern-two-column.pdf) |\n| **LaTeX** | ![LaTeX](assets/pdf-templates/latex.webp) | Diseño académico clásico con tipografía serif y encabezados con líneas. [Ver PDF](assets/pdf-templates/latex.pdf) |\n| **Limpio** | ![Limpio](assets/pdf-templates/clean.webp) | Diseño minimalista sans con encabezados grandes y sobrios. [Ver PDF](assets/pdf-templates/clean.pdf) |\n| **Vívido** | ![Vívido](assets/pdf-templates/vivid.webp) | Diseño de dos columnas colorido con encabezados de acento y viñetas de flecha. [Ver PDF](assets/pdf-templates/vivid.pdf) |\n| **Vívido de una columna** | ![Vívido de una columna](assets/pdf-templates/vivid-single.webp) | Diseño de una columna colorido con encabezados de acento y viñetas de flecha. [Ver PDF](assets/pdf-templates/vivid-single.pdf) |\n| **Modern Deedy** | ![Modern Deedy](assets/pdf-templates/modern-deedy.webp) | Diseño denso de una página en Lato con encabezados de sección en mayúsculas de gris claro. [Ver PDF](assets/pdf-templates/modern-deedy.pdf) |\n| **Deedy** | ![Deedy](assets/pdf-templates/deedy.webp) | Diseño de dos columnas con nombre en trazo fino, columna izquierda estrecha y encabezados en gris claro. [Ver PDF](assets/pdf-templates/deedy.pdf) |\n\n### Internacionalización\n\n- **UI multilingüe**: interfaz disponible en inglés, español, chino y japonés\n- **Contenido multilingüe**: genera currículums y cartas de presentación en tu idioma preferido\n\n### Roadmap\n\nSi tienes alguna sugerencia o solicitud de características, no dudes en abrir un *issue* en GitHub o discutirlo en nuestro servidor de [Discord](https://dsc.gg/resume-matcher).\n\n- Resaltado visual de palabras clave\n- AI Canvas para crear contenido de currículum impactante y basado en métricas\n- Optimización para múltiples descripciones de trabajo\n\n## Guías de currículum para ingenieros de software\n\nEl [blog de Resume Matcher](https://resumematcher.fyi/es/blog/) tiene guías para desarrolladores, desde el primer currículum para unas prácticas hasta una postulación a FAANG:\n\n- [Currículum de ingeniero de software](https://resumematcher.fyi/es/blog/software-engineer-resume/): una plantilla de una página, dos ejemplos comentados y consejos para cada sección\n- [Currículum de ciencias de la computación](https://resumematcher.fyi/es/blog/computer-science-resume/): para estudiantes y recién graduados, a partir de proyectos y prácticas\n- [Currículum para FAANG](https://resumematcher.fyi/es/blog/faang-resume/): lo que Google, Meta y Amazon dicen que evalúan, según sus propias páginas de empleo\n- [Currículum en LaTeX](https://resumematcher.fyi/es/blog/latex-resume/): Jake's, sb2nov y Awesome-CV, Overleaf, y cómo lee el PDF un parser\n- [Constructores de currículum de código abierto](https://resumematcher.fyi/es/blog/open-source-resume-builders/): Reactive Resume, RenderCV, YAMLResume, Awesome-CV y otros, comparados\n- [Currículum maestro](https://resumematcher.fyi/es/blog/master-resume/): el currículum completo del que adaptas cada postulación\n- [Adaptar tu currículum (CV) a la descripción de un puesto](https://resumematcher.fyi/es/blog/how-to-match-your-resume-to-a-job-description/): el método, paso a paso\n- [Adapta tu currículum con IA en privado, con Ollama](https://resumematcher.fyi/es/blog/local-ai-resume-tailoring-ollama/): tu currículum se queda en tu propia máquina\n\n\u003ca id=\"how-to-install\"\u003e\u003c/a\u003e\n\n## Cómo instalar\n\n![Instalación](assets/how_to_install_resumematcher.webp)\n\nPara instrucciones detalladas de configuración, consulta **[SETUP.es.md](SETUP.es.md)**. También está disponible en [English](SETUP.md), [简体中文](SETUP.zh-CN.md) y [日本語](SETUP.ja.md).\n\n### Requisitos previos\n\n| Herramienta | Versión | Instalación |\n|------------|---------|-------------|\n| Python | 3.13+ | [python.org](https://python.org) |\n| Node.js | 24+ | [nodejs.org](https://nodejs.org) |\n| uv | Última | [astral.sh/uv](https://docs.astral.sh/uv/getting-started/installation/) |\n\n### Inicio rápido\n\nLa forma más rápida (MacOS, WSL y Ubuntu):\n\n```bash\n# Clona el repositorio\ngit clone https://github.com/srbhr/Resume-Matcher.git\ncd Resume-Matcher\n\n# Backend (Terminal 1)\ncd apps/backend\ncp .env.example .env        # Configura tu proveedor de IA\nuv sync                      # Instala dependencias\nuv run app\n\n# Frontend (Terminal 2)\ncd apps/frontend\nnpm install\nnpm run dev\n```\n\nAbre **\u003chttp://localhost:3000\u003e** y configura tu proveedor de IA en Settings.\n\n### Proveedores de IA compatibles\n\n| Proveedor | Local/Nube | Notas |\n|----------|------------|-------|\n| **Ollama** | Local | Gratis, se ejecuta en tu máquina |\n| **OpenAI** | Nube | GPT-4o, GPT-4o-mini |\n| **Anthropic** | Nube | Claude 3.5 Sonnet |\n| **Google Gemini** | Nube | Gemini 1.5 Flash/Pro |\n| **OpenRouter** | Nube | Acceso a múltiples modelos |\n| **DeepSeek** | Nube | DeepSeek Chat |\n\n### Despliegue con Docker\n\n```bash\ndocker pull srbhr/resume-matcher:latest\n\ndocker run srbhr/resume-matcher:latest\n```\n\n\u003c!-- Nota: La documentación de Docker está pendiente. Por ahora, usa docker-compose.yml como referencia --\u003e\n\n\u003e **¿Usas Ollama con Docker?** Usa `http://host.docker.internal:11434` como URL de Ollama en lugar de `localhost`.\n\n### Stack tecnológico\n\n| Componente | Tecnología |\n|-----------|------------|\n| Backend | FastAPI, Python 3.13+, LiteLLM |\n| Frontend | Next.js 15, React 19, TypeScript |\n| Base de datos | TinyDB (almacenamiento en archivo JSON) |\n| Estilos | Tailwind CSS 4, Swiss International Style |\n| PDF | Chromium headless vía Playwright |\n\n## Únete y contribuye\n\n![Cómo contribuir](assets/how_to_contribute.webp)\n\n¡Damos la bienvenida a las contribuciones de todos! Ya seas un desarrollador, diseñador o simplemente alguien que quiere ayudar. Todos los colaboradores están listados en la [página \"Acerca de\"](https://resumematcher.fyi/about) en nuestro sitio web y en el Readme de GitHub.\n\nEcha un vistazo al roadmap si te gustaría trabajar en las características que están planeadas para el futuro. Si tienes alguna sugerencia o solicitud de características, no dudes en abrir un *issue* en GitHub y discutirlo en nuestro servidor de [Discord](https://dsc.gg/resume-matcher).\n\n\u003ca id=\"contributors\"\u003e\u003c/a\u003e\n\n## Colaboradores\n\n![Colaboradores](assets/contributors.webp)\n\n\u003ca href=\"https://github.com/srbhr/Resume-Matcher/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=srbhr/Resume-Matcher\" /\u003e\n\u003c/a\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ckbd\u003eHistorial de Estrellas\u003c/kbd\u003e\u003c/summary\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://star-history.dera.page/svg?repos=srbhr/resume-matcher\u0026theme=dark\u0026type=Date\"\u003e\n    \u003cimg width=\"100%\" src=\"https://star-history.dera.page/svg?repos=srbhr/resume-matcher\u0026theme=dark\u0026type=Date\"\u003e\n  \u003c/picture\u003e\n\u003c/details\u003e\n\n## Resume Matcher es parte del [Vercel Open Source Program](https://vercel.com/oss)\n\n![Vercel OSS Program](https://vercel.com/oss/program-badge.svg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrbhr%2Fresume-matcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrbhr%2Fresume-matcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrbhr%2Fresume-matcher/lists"}