How bkocii/ai-candidate-matcher works
AI Candidate Matcher is a tenant-scoped recruiting application for rediscovering candidates against confirmed vacancies. Recruiters create and confirm vacancy requirements, evaluate the organization’s candidate pool, review a deterministic shortlist and optional evidence-based AI assessments, record human decisions, and separately draft outreach after approval. The graph also preserves candidate intake/profile extraction, organization and access controls, asynchronous AI work, and audit/retention capabilities. Relationships use README workflow statements and indexed source references; unsampled areas are shown only where documented, so some internal calls are omitted.
Main entry points: candidates/models.py Candidate profiles and documents · services.py Rules and scoring · ai_assessment.py AI assessment · matching/models.py Shortlists and assessments
Components 24
Workspace and access
- Organizations and memberships
organizations/models.py - Tenant authorization
organizations/permissions.py - User accounts
accounts/models.py
Vacancy setup
- Vacancies and requirements
vacancies/models.py - Vacancy workflow
vacancies/services.py
Candidate records
- Candidate profiles and documents
candidates/models.py - Candidate intake
candidates/services.py - CV document processing
candidates/documents.py - Profile extraction
candidates/ai_extraction.py - Profile confirmation
candidates/profile_review.py
Matching and review
- Rules and scoring
matching/services.py - Shortlists and assessments
matching/models.py - AI assessment
matching/ai_assessment.py - Input freshness
matching/staleness.py - Recruiter review and decisions
matching/review.py - Outreach drafts
outreach/workflow.py
AI and operations
- AI gateway
ai_gateway/toolkit.py - Usage and audit ledger
audit/models.py - Audit services
audit/services.py - Background AI jobs
operations/services.py - Job records
operations/models.py - Retention and lifecycle
audit/lifecycle.py - Evaluation workflows
evaluation/services.py
Other components
- Recruiter
Connections 36
- Recruiter → Organizations and memberships: selects workspace
- Recruiter → Vacancy workflow: creates vacancy
- Vacancy workflow → Vacancies and requirements: creates versions
vacancies/services.py - Vacancy workflow → Rules and scoring: syncs requirements
vacancies/services.py - Recruiter → Candidate intake: imports candidates
- Candidate intake → Candidate profiles and documents: creates records
candidates/services.py - Recruiter → CV document processing: uploads CVs
- CV document processing → Candidate profiles and documents: stores documents
candidates/documents.py - Profile extraction → Candidate profiles and documents: creates profile draft
candidates/ai_extraction.py - Profile extraction → AI gateway: requests extraction
candidates/ai_extraction.py - Profile extraction → Audit services: records usage
candidates/ai_extraction.py - Audit services → Usage and audit ledger: writes usage
audit/services.py - Recruiter → Profile confirmation: confirms profile
- Profile confirmation → Candidate profiles and documents: publishes facts
candidates/profile_review.py - Recruiter → Rules and scoring: evaluates pool
- Rules and scoring → Vacancies and requirements: reads requirements
matching/services.py - Rules and scoring → Candidate profiles and documents: reads candidate facts
matching/services.py - Rules and scoring → Shortlists and assessments: saves ranking
matching/services.py - Input freshness → Shortlists and assessments: checks inputs
matching/staleness.py - Recruiter → AI assessment: requests assessment
- AI assessment → AI gateway: requests assessment
matching/ai_assessment.py - AI assessment → Shortlists and assessments: saves version
matching/ai_assessment.py - AI assessment → Audit services: records usage
matching/ai_assessment.py - Recruiter → Recruiter review and decisions: reviews evidence
- Recruiter review and decisions → Shortlists and assessments: records decision
matching/review.py - Recruiter → Outreach drafts: requests approved draft
- Outreach drafts → Shortlists and assessments: requires approval
- Background AI jobs → AI assessment: processes tasks
operations/services.py - Background AI jobs → Profile extraction: processes tasks
operations/services.py - Background AI jobs → Job records: claims tasks
operations/services.py - Recruiter → Retention and lifecycle: manages retention
- Retention and lifecycle → Usage and audit ledger: records lifecycle
audit/models.py - Evaluation workflows → Candidate profiles and documents: uses candidate data
evaluation/services.py - Evaluation workflows → Vacancies and requirements: uses vacancy data
evaluation/services.py - Organizations and memberships → Tenant authorization: defines membership scope
organizations/permissions.py - Recruiter → User accounts: uses account