Skip to content

Added the stremlit UI for tailoring the AI resume - #7

Open
Devesh-Maheshwari wants to merge 3 commits into
camunity:mainfrom
Devesh-Maheshwari:main
Open

Added the stremlit UI for tailoring the AI resume#7
Devesh-Maheshwari wants to merge 3 commits into
camunity:mainfrom
Devesh-Maheshwari:main

Conversation

@Devesh-Maheshwari

Copy link
Copy Markdown

Summary

Wraps the existing V2 pipeline in a Streamlit web app so the tool is usable by
anyone, not just people who can run a Colab notebook. The underlying pipeline
functions are unchanged — they were refactored out of the notebook into an
importable module (pipeline.py) and driven by a UI.

Closes #5

What changed

  • pipeline.py — the notebook's steps as importable functions
    (fetch_github_repos, chunk_source_material, extract_jd_requirements,
    retrieve_relevant_experience, generate_tailored_resume,
    evaluate_rag_coverage), plus the fabrication check, injection screen, and
    diff. Logic preserved; only parameterized to drop Colab-only bits
    (userdata, files.upload, input()). Added a run_pipeline() generator
    that yields progress events, retry/503 handling, and user-facing errors.
  • app.py — Streamlit UI.
  • requirements.txt, .streamlit/config.toml, tests/test_pipeline.py (20 tests), .gitignore.

UX from the issue, addressed

  • Drag-and-drop resume upload (.md/.txt) with a paste fallback
  • Rendered markdown output (not raw print), with a [SOURCE]-tag toggle and Markdown download
  • Coverage dashboard — metrics, progress bar, per-requirement evidence, honest gaps
  • Live progress states via st.status (each pipeline step streams as it runs)
  • Clean error states — the 503 case and GitHub-fetch failure surface as friendly
    messages instead of stack traces (GitHub failure is non-fatal; the run continues)

Verification

  • 20/20 unit tests pass (python -m pytest tests/)
  • Full end-to-end run against Gemini: tailored resume generated with source tags,
    100% requirement coverage on the sample, fabrication check ran
  • Streamlit app boots healthy (health endpoint returns ok)

Run locally

cd ai_resume_builder
pip install -r requirements.txt
# provide a Gemini key via .env (GOOGLE_API_KEY=...), Streamlit secrets, or env var
streamlit run app.py

@Devesh-Maheshwari

Copy link
Copy Markdown
Author

@camunity Can you please review it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move from Colab notebook to a web app UI

1 participant