Show HN: Restailor – 오픈 소스 AI 직업 적합성 및 이력서 재단사 및 직업 추적기
hackernews
|
|
📰 뉴스
#ai
#ai 딜
#anthropic
#fastapi
#gemini
#next.js
#openai
#오픈소스
#이력서
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
개발자가 자신이 제작한 AI 이력서 커스터마이징 및 채용 추적 도구인 'Restailor'을 오픈 소스로 공개했습니다. 이 프로젝트는 Next.js, FastAPI 등의 기술 스택을 기반으로 대규모 사용자를 지원할 수 있는 인프라를 갖추고 있으며, Anthropic과 OpenAI 등 다양한 최신 LLM을 통합했습니다. 또한 지원한 일자리를 관리하고 데이터를 분석할 수 있는 기능을 포함하여, 구직 과정에서 실질적으로 활용 가능한 솔루션을 제공합니다.
본문
Restailor is an open-source resume tailoring platform with a FastAPI backend, a Next.js frontend, PostgreSQL for persistence, Redis-backed background jobs, and optional LLM provider integrations. If you want to use Restailor without setting up the OSS stack yourself, use the hosted app at restailor.com. The repository is structured for self-hosting and local development. Secrets are expected to come from your local environment or a secret manager such as Doppler, but the repo includes a single root .env.example that documents the variables needed to run the stack. - AI-assisted resume tailoring against a job description - Candidate fit analysis and multi-model comparison flows - Job/application tracking with analytics endpoints and dashboards - Background processing with ARQ workers and Redis - Authentication with JWT, TOTP, WebAuthn, and trusted devices - Docker-based local development for API, worker, frontend, Postgres, and Redis main.py hosts the FastAPI application and API routes.worker.py runs ARQ background jobs for LLM and async processing.restailor/ contains the core backend modules, routers, auth, models, and config loaders.services/ contains business logic for LLM providers, pricing, analytics, email, and credits.frontend/ contains the Next.js application.docker/ contains local and production-oriented container definitions. See docs/ARCHITECTURE.md for the detailed component view. - Backend: Python 3.10+, FastAPI, SQLAlchemy, Alembic, ARQ - Frontend: Next.js 16, React 19, Tailwind CSS - Data: PostgreSQL 16, Redis 7 - Testing: Pytest, Playwright, Vitest - Integrations: OpenAI, Anthropic, Gemini, Grok, SMTP, Stripe, WebAuthn - Python 3.10 to 3.13 - Poetry - Node.js 18+ - Docker Desktop or Docker Engine with Compose git clone https://github.com/DataDoesYou/Restailor.git cd restailor cp .env.example .env poetry install npm --prefix frontend install Edit .env and set, at minimum: AUTH_SECRET_KEY PII_ENCRYPTION_KEY TOTP_FERNET_KEY SECURITY_REMEMBER_SIGNER_SECRET - One provider key such as OPENAI_API_KEY For local-only development you can keep STRICT_SECRETS=0 and leave optional integrations blank. docker compose -f docker/docker-compose.dev.yml up -d postgres redis poetry run alembic upgrade head poetry run uvicorn main:app --reload --host 127.0.0.1 --port 8000 poetry run arq worker.WorkerSettings npm --prefix frontend run dev Open http://localhost:3000 for the frontend and http://localhost:8000/docs for the API docs. docker compose -f docker/docker-compose.dev.yml up --build This starts Postgres, Redis, the API, the worker, and the frontend using the root .env file. This dev stack uses cloudflared to expose the local API (http://api:8000 ) through your Cloudflare tunnel. Point your Stripe webhook endpoint to that tunnel URL and keep STRIPE_WEBHOOK_SECRET in env/Doppler aligned with the Stripe endpoint secret. To verify tunnel logs: docker compose -f docker/docker-compose.dev.yml logs -f cloudflared Without webhook forwarding, Checkout can succeed but credits will not be applied. Doppler is optional. If you use Doppler, you can run the same command with injected secrets: doppler run --project restailor --config dev -- docker compose -f docker/docker-compose.dev.yml up --build If you do not use Doppler, copy .env.example to .env and use plain docker compose . poetry run pytest npm --prefix frontend run test npm --prefix frontend run test:e2e The canonical template is .env.example at the repo root. It includes: - Core auth and encryption keys - Database and Redis settings - Optional email, captcha, analytics, and Stripe settings - Frontend deployment metadata such as NEXT_PUBLIC_SITE_URL repo/ ├─ restailor/ # Core Python package ├─ frontend/ # Next.js app ├─ tests/ # Backend tests ├─ examples/ # Usage examples ├─ docs/ # Architecture and operational docs ├─ scripts/ # Retained helper scripts ├─ docker/ # Dockerfiles and compose files ├─ main.py # API entrypoint ├─ worker.py # Worker entrypoint ├─ README.md ├─ LICENSE ├─ CONTRIBUTING.md └─ .env.example docs/ARCHITECTURE.md : component and deployment overviewdocs/DEPLOYMENT.md : production deployment guidancedocs/DEVELOPER_GUIDE.md : extended developer documentationrender.example.yaml : generic Render blueprint example for self-hosters See CONTRIBUTING.md for setup expectations, coding standards, and pull request guidance. This project is released under the MIT License. See LICENSE .
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유