Web app - #9
Merged
Merged
Conversation
…move resume file and redundant DB sync
… file naming convention
… uv as the backend package manager. Updated README.md
…tre. Added uv as the backend package manager. Updated README.md
GitHub profile is now optional for resume tailoring and interview prep.
Also adds resume view/download/delete and fixes UI overlap issues.
GitHub optional:
- crew tasks.py: replace module-level Task singletons with a build_tasks(
include_github) factory returning fresh tasks per run. Without GitHub,
the summarizer task is omitted and the profiler/strategist tasks get
explicit grounding rules so agents do not fabricate projects, skills,
or metrics beyond the resume + job details. Fresh per-request tasks
also fix a race where concurrent jobs overwrote each other's output_file.
- crew.py: build_crew(include_github=True) conditionally wires in the
GitHub agent + task; return type stays Crew (CLI/runner unchanged).
- crew_runner.py: GitHub params default to None; derive include_github
from github_url; stamp output paths on per-request crew.tasks[-1]/[-2];
null-guard github_profile access; skip the searching_projects step.
- jobs.py: POST /tailor looks up a GitHub profile only when one is given.
- schemas: github_profile_id is now Optional[int] = None.
- models: Job.github_profile_id is nullable with ON DELETE SET NULL.
- frontend: GitHub select optional ("None / no GitHub"); omit
github_profile_id when unset; ProgressTracker hides the GitHub step.
- migrations.md: documents the one-time manual ALTER for existing DBs
(no Alembic; create_all does not alter existing columns).
Resume management & UI:
- Add view & download buttons for uploaded resumes, reusing the existing
/resumes/{id}/content endpoint.
- Render ResumePreviewModal via a portal to document.body so it escapes
the glass-card's backdrop-filter containing block (full-width, centered).
- Add DELETE /api/jobs/{job_id} to remove tailored resumes: cleans up GCS
artifacts and the DB record, with a confirm-guarded delete button in
TailoredResumeList.
- Fix LandingPage upload UI overlap.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat: add retry endpoint for jobs, update frontend to support retry functionality
Adds a resume_analyzer agent that extracts .pdf/.docx/.md resumes into a fixed JSON schema, uploads to GCS, and records parsed_resume_path on the Resume table. Runs in parallel with the GitHub task; output feeds the profiler. Includes hallucination + URL guardrails, computed years_of_experience, category-keyed skills, PDF/DOCX upload support, and an isolation test script.
Feat/resume analyzer agent
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Renovated the CLI version to a web app version. CLI version still present as a sub part.