Skip to main content

Pipeline & Kanban

The pipeline feature provides a drag-and-drop Kanban board for managing candidates through recruitment stages.

Pipeline Stages

Candidates flow through configurable stages:

NEW → IN_REVIEW → INTERVIEW → APPROVED / REJECTED

Each stage is represented as a Kanban column. Candidates can be dragged between columns to update their status.

Components

Pipeline Page Components

ComponentFilePurpose
PipelineHeadercomponents/pipeline/PipelineHeader.tsxPipeline name, stats, and actions
PipelineTabscomponents/pipeline/PipelineTabs.tsxTab navigation between pipeline views
DetailsHeadercomponents/pipeline/DetailsHeader.tsxCandidate detail header in pipeline context

Kanban Components

ComponentFilePurpose
KanbanBoardcomponents/ux/KanbanBoard.tsxContainer managing columns and drag events
KanbanCardcomponents/ux/KanbanCard.tsxIndividual draggable card
KanbanJobCardAdaptercomponents/ux/KanbanJobCardAdapter.tsxAdapter for job-specific card rendering
CandidatesKanbancomponents/reusable/candidates/CandidatesKanban.tsxCandidate-specific Kanban board

Candidate Cards

ComponentFilePurpose
CandidateCardcomponents/reusable/candidates/CandidateCard.tsxStandard candidate card
CandidateKanbanCardcomponents/reusable/candidates/CandidateKanbanCard.tsxCompact Kanban variant
CandidateRecommendedCardcomponents/reusable/candidates/CandidateRecommendedCard.tsxAI-recommended candidate display

Candidate Detail Tabs

ComponentFilePurpose
ApplicationTabcomponents/reusable/candidates/ApplicationTab.tsxApplication details
ResumeTabcomponents/reusable/candidates/ResumeTab.tsxResume/CV display
OptionDropdowncomponents/reusable/candidates/OptionDropdown.tsxAction dropdown (move, reject, etc.)

Pipeline Pages

RoutePurpose
app/company/pipeline/Main pipeline Kanban view
app/company/pipeline/manage/Pipeline configuration and stage management
app/company/pipeline/_components/Page-specific components
HookPurpose
usePersistentSelectionPersists selected candidates across navigation
useUpdateCandidateStatusUpdates candidate pipeline status
useGetCandidatesFetches candidates with filtering
useDeleteCandidateRemoves candidate
useAddCandidateAdds candidate to pipeline