feat(batch): add batch upload for resume analysis against multiple jobs - #28
prathamdby wants to merge 2 commits into
Conversation
- Swap em dash for period in 'One resume, multiple jobs' copy
PR Agent ReviewNote This PR adds a batch resume analysis feature allowing users to upload one resume and analyze it against 2-10 job descriptions in parallel. It introduces a new NDJSON streaming API endpoint (
Coverage partial: correctness specialist failed. 5ddbde0 ⋅ general ⋅ 17m 49s ⋅ qwen3.7-plus |
| @@ -0,0 +1,20 @@ | |||
| import BatchUploadForm from "@/app/components/BatchUploadForm"; | |||
There was a problem hiding this comment.
/ask What's the purpose of this component?
There was a problem hiding this comment.
This page component (app/(dashboard)/app/batch-upload/page.tsx) is a batch resume analysis page that lets a user upload a single resume and compare it against up to 10 different job descriptions in parallel.
It renders two things:
- A header with the copy "One resume, multiple jobs. Analyzed in parallel." and a short description explaining the feature.
<BatchUploadForm />, which is the real workhorse. That form handles:- Uploading one resume PDF.
- Adding 2 to 10 job entries (title, company, description), each with an option to import details from a URL or a PDF.
- Validating the form (each job needs a title and a description of at least 50 characters).
- Calling
batchAnalyzewith streaming progress events, then rendering a live progress UI showing each job's status (analyzing, success with score, or error). - Once complete, offering a "View all results" button that navigates to
/app/batch/{batchId}, plus per-job "View analysis" links to/app/resume/{resumeId}.
So the page itself is just a thin layout wrapper; the bulk of the logic lives in app/components/BatchUploadForm.tsx.
PR Agent Description
PR Type
Enhancement
Description
File Walkthrough
Enhancement (10 files)
Batch analyze API route
app/api/batch-analyze/route.tsBatch upload form with live progress
app/components/BatchUploadForm.tsxBatch results page with score summary
app/(dashboard)/app/batch/[id]/page.tsxNew BatchAnalysis database model
prisma/schema.prismaExtracted shared resume analysis utilities
lib/resume-analysis.tsClient-side streaming API function
lib/api.tsBatch input validation schemas
lib/schemas.tsNew batch analysis TypeScript types
types/index.d.tsRate limit for batch endpoint
lib/rate-limit.tsNavigation links for batch feature
app/components/AppSidebar.tsx