Unreviewed code
This raw app has not been approved yet. The code may contain untrusted content.
Candidates apply through a public form with their CV; Windmill stores the PDF, extracts its text, and scores it against the job's criteria with Claude. Recruiters read the ranked score matrix in a dashboard.
recruit_create_job.ts Job opening + its screening criteria (a list of strings)
recruit_list_jobs.ts Jobs + candidate / screened counts
recruit_get_job.ts Public job detail (used by the apply form)
recruit_delete_job.ts Job + candidates (cascade)
recruit_submit_application.ts Decode PDF → S3 → extract text → create candidate → screen async
recruit_screen_candidate.ts AI scoring against the job criteria
recruit_list_candidates.ts Candidates ranked by overall score (score matrix)
recruit_get_candidate.ts CV text, per-criterion scores, rationales
recruit_delete_candidate.ts Candidate + stored CV object
recruit_apply__raw_app/ Public application form
recruit_dashboard__raw_app/ Screening dashboard
wmill script preview f/recruit/recruit_list_jobs -d '{}'