[Vue] Apply Workspace: Resume Highlights and Application Q&A missing #51

Closed
opened 2026-04-02 17:30:09 -07:00 by pyr0ball · 1 comment
Owner

Problem

The Vue Apply Workspace is missing two high-value sections from the Streamlit apply page.

Missing features

Resume Highlights

  • Displays the user's resume experience entries (title / company / period / bullets)
  • Per-bullet copy buttons for pasting into ATS forms
  • Copy buttons for: job title, start date, end date, all duties, individual bullet points
  • Used when filling out "Work Experience" sections of online applications

Application Q&A

  • Textarea to paste an application question
  • "Generate Answer" button — produces an answer in the user's voice using their profile + the job description
  • Answer history (most recent first)
  • Per-answer copy button

Both sections are in the right-panel of the Streamlit apply page and are heavily used for long-form applications.

## Problem The Vue Apply Workspace is missing two high-value sections from the Streamlit apply page. ## Missing features ### Resume Highlights - Displays the user's resume experience entries (title / company / period / bullets) - Per-bullet copy buttons for pasting into ATS forms - Copy buttons for: job title, start date, end date, all duties, individual bullet points - Used when filling out "Work Experience" sections of online applications ### Application Q&A - Textarea to paste an application question - "Generate Answer" button — produces an answer in the user's voice using their profile + the job description - Answer history (most recent first) - Per-answer copy button Both sections are in the right-panel of the Streamlit apply page and are heavily used for long-form applications.
pyr0ball added this to the Paid Tier GA milestone 2026-04-02 17:30:09 -07:00
pyr0ball added the
enhancement
vue
labels 2026-04-02 17:30:09 -07:00
Author
Owner

Implemented in this session.

Resume Highlights (left panel, after keyword gaps):

  • Fetches skills/domains/keywords from /api/settings/resume
  • Chips shown; those matching job keywords highlighted in accent color
  • Collapsible toggle

Application Q\u0026A (right panel, after ResumeOptimizer):

  • Full CRUD: add question, edit answer inline, delete
  • Save via PATCH /api/jobs/{job_id}/qa
  • Suggest answer via POST /api/jobs/{job_id}/qa/suggest (LLM, paid tier)
  • Collapsible per-question accordion

Backend (dev-api.py):

  • GET /api/jobs/{job_id}/qa — returns qa_items JSON column
  • PATCH /api/jobs/{job_id}/qa — saves full qa_items list
  • POST /api/jobs/{job_id}/qa/suggest — LLM-generated answer draft
  • _ensure_qa_column(db) lazily adds the column on first use
  • QAItem, QAPayload, QASuggestPayload Pydantic models

Cloud middleware also added in this session: per-request ContextVar resolves user DB path from X-CF-Session JWT header.

Implemented in this session. **Resume Highlights** (left panel, after keyword gaps): - Fetches skills/domains/keywords from `/api/settings/resume` - Chips shown; those matching job keywords highlighted in accent color - Collapsible toggle **Application Q\u0026A** (right panel, after ResumeOptimizer): - Full CRUD: add question, edit answer inline, delete - Save via `PATCH /api/jobs/{job_id}/qa` - Suggest answer via `POST /api/jobs/{job_id}/qa/suggest` (LLM, paid tier) - Collapsible per-question accordion **Backend** (`dev-api.py`): - `GET /api/jobs/{job_id}/qa` — returns `qa_items` JSON column - `PATCH /api/jobs/{job_id}/qa` — saves full qa_items list - `POST /api/jobs/{job_id}/qa/suggest` — LLM-generated answer draft - `_ensure_qa_column(db)` lazily adds the column on first use - `QAItem`, `QAPayload`, `QASuggestPayload` Pydantic models **Cloud middleware** also added in this session: per-request ContextVar resolves user DB path from `X-CF-Session` JWT header.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/peregrine#51
No description provided.