easyCV Knowledge Wiki
Bundle OKF 0.2 · 0 conceitos · 4cecoder/easycv
Open source Repository Open in the app JSON README (API)
About
# easyCV Knowledge Wiki
Welcome to the structured knowledge base for the **easyCV** project. This documentation repository complies with the Open Knowledge Format (OKF v0.2) specification.
## Core Knowledge Areas
- **[System Architecture](/architecture.md)**: Details the Next.js frontend, Convex real-time DB, and long-polling Python worker daemon stack.
- **[ASD-STE100 Rules & Validation](/ste100_standard.md)**: Explains the Simplified Technical English Issue 9 rule engine and resume parsing compliance checker.
- **[Job Description Keyword Scorer](/job_alignment.md)**: Maps the interactive job description keyword alignment widget, API endpoint, and CLI subcommand integration.
Details
- Kind
- OKF bundles
- Topic
- Productivity
- Publisher
- 4cecoder
- Origin
- okf_github
- Category
- dados
- Version
- 0.2
- Open pull requests
- 2
- Last push
- 2026-09-08T21:54:09Z
- Repository state
- ativo
- Language
- TypeScript
- Added
- 2026-09-08 16:05:40
- Updated
- 2026-09-08 16:05:40
- Origin id
4cecoder/easycv:knowledge/index.md
README
# easyCV CV/resume consolidation pipeline. Upload your CVs, resumes, and LinkedIn exports — get a clean, ATS-optimized single-column LaTeX resume. ## How It Works 1. **Upload** — drag-and-drop your PDFs, text files, or LinkedIn exports 2. **Extract** — text is pulled from your documents server-side 3. **Consolidate** — an LLM (GPT-4o, Claude, or Ollama) merges everything into a structured profile 4. **Generate** — produces a clean single-column LaTeX resume optimized for ATS parsers 5. **Download** — pay once ($9-19) to download the final PDF The LLM handles the hard part: deduplicating overlapping roles, ranking experience relevance, and writing strong bullet points. Your files are processed then discarded — no accounts, no retention. ## Quick Start ```bash # Install dependencies pip install -e . # CLI: scan directories for resumes easycv scan --auto # CLI: specific directories with a particular LLM easycv scan ~/Downloads ~/Desktop --llm openai # Dry run to preview before copying easycv scan ~/Downloads --dry-run ``` ## LLM Configuration The pipeline supports three LLM providers. Set via `LLM_PROVIDER` env var: | Provider | Default Model | API Key Env Var | |----------|---------------|-----------------| | `openai` | `gpt-4o` | `OPENAI_API_KEY` | | `anthropic` | `claude-sonnet-4-20250514` | `ANTHROPIC_API_KEY` | | `ollama` | `llama3.2` | none (local) | Set API keys via environment variables or in `~/.config/cv-pipeline/config.json`. ## Web App A Next.js + Convex frontend handles upload, live preview, Stripe checkout, and PDF download. A Python worker process handles background consolidation jobs. ```bash # Run frontend dev server cd web && bun run dev # Run worker (polls Convex for queued jobs) uv run python -m backend.worker ``` ## Architecture ``` easyCV ├── backend/ │ ├── pipeline.py — Resume processing pipeline (extract, LLM consolidate, STE-100, LaTeX) │ ├── latex.py — LaTeX/PDF resume generation │ ├── ste100.py — ASD-STE100 grammar/style validator │ └── worker.py — Long-lived background worker (polls Convex for jobs) ├── web/ │ ├── app/ — Next.js 16 App Router (upload, preview, checkout, download) │ ├── convex/ — Convex DB schema & functions │ └── components/ — React UI components ├── tests/ — Python test suite └── automation/ — Autonomous coding framework (OCR, TDD, LLM refactor) ``` ### Pipeline Stages 1. **Scan** — find PDFs matching CV/resume/LinkedIn patterns, group by person 2. **Extract** — pull text from PDFs using system tools 3. **Consolidate** — LLM produces structured JSON (name, skills, experience, education) 4. **Score** — evaluate completeness and quality 5. **Generate** — produce LaTeX/PDF resume in single-column ATS format ## Tech Stack - **Python 3.13+** — pipeline, extraction, LaTeX generation (`uv run pytest`) - **TypeScript / Bun** — Next.js 16 web frontend, Convex backend - **Convex** — database, realtime subscriptions, file storage - **OpenAI / Anthropic / Ollama** — LLM providers for consolidation - **LaTeX** — PDF resume output - **Stripe** — payment processing (one-time or subscription)