{"id":31698817,"url":"https://github.com/unsoto/resumemate","last_synced_at":"2026-04-16T00:32:26.536Z","repository":{"id":318488792,"uuid":"1071490776","full_name":"unSoto/ResumeMate","owner":"unSoto","description":"🤖 ResumeMate — a Telegram bot for resume analysis and job search. Supports PDF/DOCX, extracts skills, evaluates market readiness, suggests vacancies via HH.ru API, and generates cover letters. Demo version for learning and testing purposes only.","archived":false,"fork":false,"pushed_at":"2025-10-07T12:51:37.000Z","size":162,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-07T14:37:57.369Z","etag":null,"topics":["aiogram","bot","fastapi","httpx","pydantic","pypdf2","python","python-docx","telegrambot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unSoto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-07T12:24:27.000Z","updated_at":"2025-10-07T13:14:26.000Z","dependencies_parsed_at":"2025-10-07T14:37:59.688Z","dependency_job_id":null,"html_url":"https://github.com/unSoto/ResumeMate","commit_stats":null,"previous_names":["unsoto/resumemate"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/unSoto/ResumeMate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unSoto%2FResumeMate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unSoto%2FResumeMate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unSoto%2FResumeMate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unSoto%2FResumeMate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unSoto","download_url":"https://codeload.github.com/unSoto/ResumeMate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unSoto%2FResumeMate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000701,"owners_count":26082805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"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":["aiogram","bot","fastapi","httpx","pydantic","pypdf2","python","python-docx","telegrambot"],"created_at":"2025-10-08T19:10:59.530Z","updated_at":"2025-10-08T19:11:18.138Z","avatar_url":"https://github.com/unSoto.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 ResumeMate\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003eAI-Powered Telegram Bot for Resume Analysis and Job Search\u003c/h3\u003e\n  \u003cp\u003e\u003cstrong\u003eAutomate your job search process with Artificial Intelligence\u003c/strong\u003e\u003c/p\u003e\n\n  ![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)\n  ![FastAPI](https://img.shields.io/badge/FastAPI-0.104+-green.svg)\n  ![aiogram](https://img.shields.io/badge/aiogram-3.0+-red.svg)\n  ![License](https://img.shields.io/badge/License-Custom-orange.svg)\n  ![Status](https://img.shields.io/badge/Status-Demo-yellow.svg)\n\n  ⚠️ **Warning:** This is a demo version and basic solution prototype. Not intended for production use.\n\u003c/div\u003e\n\n---\n\n## 🚨 Important Warning\n\n\u003cdiv align=\"center\" style=\"background-color: #fff3cd; border: 1px solid #ffeaa7; border-radius: 8px; padding: 20px; margin: 20px 0;\"\u003e\n\n### ⚠️ DEMO PROJECT\n\n**This is not a complete product, but a demonstration prototype of the solution.**\n\n- 🔧 Basic functionality to demonstrate the concept\n- 📝 Not intended for real production use\n- 🧪 Suitable for learning and testing ideas\n- 🚫 Not recommended for serious use\n\n\u003c/div\u003e\n\n---\n\n## ✨ Key Features\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003ch3\u003e📄 Resume Analysis\u003c/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003ePDF and DOCX format support\u003c/li\u003e\n        \u003cli\u003eAutomatic skill extraction\u003c/li\u003e\n        \u003cli\u003eJob market readiness assessment\u003c/li\u003e\n        \u003cli\u003eImprovement recommendations\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003ch3\u003e🔍 Job Search\u003c/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003eSmart match-score algorithm\u003c/li\u003e\n        \u003cli\u003eIntegration with HH.ru API\u003c/li\u003e\n        \u003cli\u003ePagination and easy navigation\u003c/li\u003e\n        \u003cli\u003eSkills-based filtering\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003ch3\u003e📧 Cover Letters\u003c/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003ePersonalized generation\u003c/li\u003e\n        \u003cli\u003eLLM integration (optional)\u003c/li\u003e\n        \u003cli\u003eHuman-in-the-loop control\u003c/li\u003e\n        \u003cli\u003eEmail integration\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003ch3\u003e⭐ Resume Audit\u003c/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003eA-E scale assessment\u003c/li\u003e\n        \u003cli\u003eSpecific recommendations\u003c/li\u003e\n        \u003cli\u003eATS compatibility analysis\u003c/li\u003e\n        \u003cli\u003eOptimization suggestions\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🛠 Technologies\n\n\u003cdiv align=\"center\"\u003e\n\n### Backend\n![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=for-the-badge\u0026logo=fastapi)\n![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)\n![Pydantic](https://img.shields.io/badge/Pydantic-E92063?style=for-the-badge\u0026logo=pydantic)\n\n### Bot Development\n![aiogram](https://img.shields.io/badge/aiogram-3.0+-blue?style=for-the-badge)\n![httpx](https://img.shields.io/badge/httpx-005571?style=for-the-badge\u0026logo=python)\n\n### Document Processing\n![PyPDF2](https://img.shields.io/badge/PyPDF2-FF6B35?style=for-the-badge\u0026logo=python)\n![python-docx](https://img.shields.io/badge/python--docx-185ABD?style=for-the-badge\u0026logo=python)\n\n### Deployment \u0026 DevOps\n![Uvicorn](https://img.shields.io/badge/Uvicorn-2453FF?style=for-the-badge\u0026logo=python)\n![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n\n\u003c/div\u003e\n\n### Project Architecture\n\n```mermaid\ngraph TB\n    A[Telegram Bot] --\u003e B[FastAPI Server]\n    B --\u003e C[(Resume Database)]\n    B --\u003e D[AI Services]\n    D --\u003e E[OpenAI API]\n    B --\u003e F[HH.ru API]\n    B --\u003e G[Email Service]\n```\n\n---\n\n## 🚀 Quick Start\n\n\u003cdiv align=\"center\" style=\"background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; padding: 15px; margin: 20px 0;\"\u003e\n\n### 📋 Demo Version for Testing\n\nThis project is intended exclusively for concept demonstration and learning. Do not use in production or for real tasks.\n\n\u003c/div\u003e\n\n### Prerequisites\n\n- **Python 3.8+**\n- **Telegram Bot Token** (get from [@BotFather](https://t.me/botfather))\n\n### Installation\n\n```bash\n# 1. Clone the repository\ngit clone https://github.com/yourusername/resumemate.git\ncd resumemate\n\n# 2. Run automatic setup\npython setup.py\n\n# 3. Configure environment variables\ncp .env.example .env\n# Edit .env file with your TELEGRAM_BOT_TOKEN\n```\n\n### ⚠️ Important Warnings Before Launch\n\n\u003cdiv align=\"center\" style=\"background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 15px 0;\"\u003e\n\n**Before launching, make sure:**\n\n- The project is intended only for demo and learning\n- Do not use for real resumes or job postings\n- Production will require security improvements\n- Store tokens and keys securely\n\n\u003c/div\u003e\n\n### Launch\n\n```bash\n# Terminal 1: FastAPI server\npython run_api.py\n\n# Terminal 2: Telegram bot\npython run_bot.py\n```\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"preview/start.png\" alt=\"Главное меню бота\" width=\"500\"/\u003e\n\u003c/div\u003e\n\n---\n\n## 📖 Usage\n\n\u003cdiv align=\"center\" style=\"background-color: #e7f3ff; border: 1px solid #b3d9ff; border-radius: 8px; padding: 15px; margin: 20px 0;\"\u003e\n\n### 🎯 Demo Mode\n\nThe project operates in demonstration mode with limited functionality. Use only for testing and learning.\n\n\u003c/div\u003e\n\n### Workflow\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"preview/help.png\" alt=\"Помощь бота\" width=\"500\"/\u003e\n\u003c/div\u003e\n\n### Bot Commands\n\n| Command | Description |\n|---------|-------------|\n| `/start` | 🚀 Start the bot and main menu |\n| `/resume` | 📄 Upload resume for analysis |\n| `/search` | 🔍 Search for jobs by skills |\n\n### Usage Examples\n\n#### Resume Analysis\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"preview/resume.png\" alt=\"Анализ резюме\" width=\"400\"/\u003e\n\u003c/div\u003e\n\n#### Job Search\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"preview/search.png\" alt=\"Поиск вакансий\" width=\"400\"/\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\" style=\"background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; padding: 15px; margin: 20px 0;\"\u003e\n\n**⚠️ Note:** All usage examples are for demonstration purposes. Real functions may differ from those described.\n\n\u003c/div\u003e\n\n---\n\n## 🔧 API Documentation\n\nAfter launching the server, documentation is available at:\n**http://localhost:8000/docs**\n\n### Main Endpoints:\n\n#### `POST /upload-resume`\nUpload and process resume\n\n#### `POST /extract-skills`\nExtract skills from text\n\n#### `GET /health`\nHealth check\n\n---\n\n## 🏗 Project Structure\n\n```\nResumeMate/\n├── 📄 main.py              # FastAPI server\n├── 🤖 bot.py               # Telegram bot\n├── 🔧 jobs.py              # Job search and analysis services\n├── ⚙️ setup.py             # Automatic setup\n├── 🚀 run_api.py           # API launch script\n├── 🤖 run_bot.py           # Bot launch script\n├── 📋 requirements.txt     # Python dependencies\n├── 🔐 .env.example         # Configuration example\n├── 📄 README.md            # Documentation\n└── 📄 LICENSE              # License\n```\n\n---\n\n## 📊 Competitive Advantages\n\n| Feature | ResumeMate | Competitors |\n|---------|------------|-------------|\n| 🤖 AI Resume Analysis | ✅ Complete | ❌ Limited |\n| 🔍 Smart Job Search | ✅ With match-score | ❌ Basic |\n| 📧 LLM Cover Letters | ✅ Personalized | ❌ Template-based |\n| ⭐ Resume Audit | ✅ With recommendations | ❌ Simple assessment |\n| 🎯 Human-in-the-loop | ✅ Final confirmation | ❌ Automatic sending |\n\n---\n\n## 📞 Contacts\n\n**Developer:** Vladislav Skrauch\n\n\u003cdiv align=\"center\"\u003e\n\n[![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge\u0026logo=telegram\u0026logoColor=white)](https://t.me/worksoto)\n[![Email](https://img.shields.io/badge/Email-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:vlskrauch@mail.ru)\n\n\u003c/div\u003e\n\n### For Commercial Use\n📧 **Email:** vlskrauch@mail.ru\n📱 **Telegram:** @worksoto\n\n---\n\n## 📄 License\n\nThe project is distributed under a **custom license**. Details in the [LICENSE](LICENSE) file.\n\n**Important:** It is forbidden to attribute the development to yourself and use for commercial purposes without written permission from the author.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n### ⭐ If you like the project, give it a star!\n\n**Good luck with your job search! 🚀**\n\n*Made with ❤️ for the developer community*\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\" style=\"background-color: #fff3cd; border: 2px solid #ffeaa7; border-radius: 10px; padding: 25px; margin: 30px 0; font-size: 18px;\"\u003e\n\n## 🚨 FINAL WARNING\n\n**This is a demo project created exclusively to demonstrate technical skills and solution concept.**\n\n❌ **Do not use for real tasks**\u003cbr\u003e\n❌ **Do not upload confidential information**\u003cbr\u003e\n❌ **Do not apply in production environment**\u003cbr\u003e\n✅ **Use only for learning and testing**\n\nFor a complete solution, contact the developer to create a production version.\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funsoto%2Fresumemate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funsoto%2Fresumemate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funsoto%2Fresumemate/lists"}