This PRD outlines a new job creation flow that replaces the current single-stage job creation with a comprehensive hiring plan builder. The new flow will guide users through creating a job description, selecting a hiring plan template, and automatically generating all stages, interviews, and competencies.
Current job creation flow:
- Creates only a single pre-screen stage
- Doesn't support the full ATS workflow (sourcing → screening → interviewing → offer)
- Requires manual setup of additional stages and interviews
- Not optimized for different hiring scenarios (tech, sales, operations, etc.)
New job creation flow at /company/[companySlug]/jobs/ats/create
that:
- Captures job description and basic details
- Recommends hiring plan templates based on role type and volume
- Generates complete hiring workflow with appropriate AI/human interview stages
- Auto-generates competencies for each interview stage
- Creates all stages, interviews, and competencies in one atomic operation
model HiringPlanTemplate {
id Int @id @default(autoincrement())
name String // "Tech/Engineering", "Sales", etc.
slug String @unique
description String
isActive Boolean @default(true)
isDefault Boolean @default(false)
category String // "technical", "sales", "operations", "creative", "high-volume"
volumeType String // "individual", "team", "high-volume"
seniorityLevel String? // "entry", "mid", "senior", "executive"
stages HiringPlanTemplateStage[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model HiringPlanTemplateStage {
id Int @id @default(autoincrement())
templateId Int
template HiringPlanTemplate @relation(fields: [templateId], references: [id], onDelete: Cascade)
stageType StageType
name String
description String?
order Int
interviews HiringPlanTemplateInterview[]
@@index([templateId])
}
model HiringPlanTemplateInterview {
id Int @id @default(autoincrement())
stageId Int
stage HiringPlanTemplateStage @relation(fields: [stageId], references: [id], onDelete: Cascade)
name String
description String?
interviewMode InterviewMode // "ai" or "human"
duration Int // in minutes
competencyFocus String? // "technical", "behavioral", "cultural"
suggestedQuestions Json? // Array of suggested questions
order Int
@@index([stageId])
}
model Job {
// ... existing fields ...
// Add template tracking
templateId Int?
template HiringPlanTemplate? @relation(fields: [templateId], references: [id])
// Add bulk creation tracking
createdWithTemplate Boolean @default(false)
}
URL: /company/[companySlug]/jobs/ats/create
Screen: Job Details Form
- Job title (required)
- Department (optional)
- Location (required)
- Remote options (hybrid/remote/onsite)
- Employment type (full-time/part-time/contract)
- Salary range (optional)
- Job description (rich text editor)
- [Continue to Hiring Plan →]
URL: /company/[companySlug]/jobs/ats/create/plan
Screen: Smart Template Selector
┌─────────────────────────────────────────────────────────┐
│ Choose Your Hiring Plan │
│ │
│ Based on your job details, we recommend: │
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ 🎯 Tech/Engineering │ │ 💼 Sales/Business │ │
│ │ │ │ │ │
│ │ • AI Tech Screen │ │ • AI Qualification │ │
│ │ • AI Coding Test │ │ • AI Sales Sim │ │
│ │ • Human Tech Deep │ │ • Human Leadership │ │
│ │ • Human Team Fit │ │ • AI References │ │
│ │ │ │ │ │
│ │ 4-5 stages │ │ 4 stages │ │
│ │ ~3 hours total │ │ ~2.5 hours total │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ 📋 Operations │ │ 🎨 Creative │ │
│ │ │ │ │ │
│ │ • AI Logistics │ │ • AI Portfolio Rev │ │
│ │ • AI Skills Test │ │ • Human Creative │ │
│ │ • Human Manager │ │ • AI Project Brief │ │
│ │ │ │ • Human Present │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
│ [View All Templates] [Build Custom] │
└─────────────────────────────────────────────────────────┘
Template Recommendation Logic:
- Parse job title/description for keywords
- Consider salary range (higher = more senior = more human touchpoints)
- Factor in urgency indicators
- Show confidence score for each recommendation
URL: /company/[companySlug]/jobs/ats/create/customize
Screen: Interactive Hiring Plan Builder
┌─────────────────────────────────────────────────────────┐
│ Customize Your Tech/Engineering Hiring Plan │
│ │
│ ┌─── Stage 1: Application ────────────────────────┐ │
│ │ ✓ AI Resume Screening (instant) │ │
│ │ Automatically reviews applications │ │
│ └──────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─── Stage 2: Screening ──────────────────────────┐ │
│ │ ✓ AI Technical Pre-screen (15 min) │ │
│ │ • Basic coding questions │ │
│ │ • Tech stack verification │ │
│ │ [Edit Interview] [Remove] │ │
│ └──────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─── Stage 3: Technical Assessment ───────────────┐ │
│ │ ✓ AI Coding Assessment (45 min) │ │
│ │ • Real-time problem solving │ │
│ │ • Code review & discussion │ │
│ │ [Edit Interview] │ │
│ │ │ │
│ │ ○ Human Technical Interview (60 min) │ │
│ │ • System design │ │
│ │ • Architecture discussion │ │
│ │ [+ Add This Interview] │ │
│ └──────────────────────────────────────────────────┘ │
│ │
│ [+ Add Stage] │
│ │
│ Estimated Time to Hire: 5-7 days │
│ Total Candidate Time: 2.5 hours │
│ │
│ [← Back] [Create Job & Hiring Plan →] │
└─────────────────────────────────────────────────────────┘
Features:
- Drag & drop to reorder stages
- Toggle interviews on/off
- Edit interview details (name, duration, focus)
- Add custom stages/interviews
- Real-time metrics (time to hire, candidate time investment)
URL: /company/[companySlug]/jobs/ats/create/review
Screen: Final Review
┌─────────────────────────────────────────────────────────┐
│ Review Your New Job & Hiring Plan │
│ │
│ Job Details: │
│ • Senior Software Engineer │
│ • Engineering Department │
│ • San Francisco (Hybrid) │
│ • $150k - $200k │
│ │
│ Hiring Plan: Tech/Engineering (Customized) │
│ │
│ 5 Stages, 4 Interviews: │
│ 1. Application → AI Resume Screen │
│ 2. Screening → AI Technical Pre-screen (15m) │
│ 3. Technical → AI Coding Assessment (45m) │
│ 4. Culture → Human Team Interview (45m) │
│ 5. Offer → Human Negotiation │
│ │
│ What happens next: │
│ ✓ Job will be created and published │
│ ✓ All interview stages will be set up │
│ ✓ AI will generate role-specific competencies │
│ ✓ Interview questions will be prepared │
│ ✓ You'll be redirected to the job dashboard │
│ │
│ [← Edit] [Create Everything →] │
└─────────────────────────────────────────────────────────┘
Background Process (with loading state):
- Create Job record
- Create all Stage records in order
- Create InterviewType records for each stage
- Generate competencies for each AI interview (async)
Success State:
- Redirect to
/company/[companySlug]/jobs/ats/[jobSlug]
- Show success toast: "Job created with 5 stages and 4 interviews!"
1. Application (AI screening - instant)
2. Screening: AI Technical Pre-screen (15-20 min)
3. Technical Assessment:
- AI Coding Assessment (45-60 min)
- Human Technical Deep Dive (60 min)
4. Culture Fit: Human Team Interview (30 min)
5. Offer Discussion (Human)
1. Application (AI screening)
2. Screening: AI Initial Qualification (10-15 min)
3. Skills Assessment: AI Sales Simulation (30-45 min)
4. Leadership Review: Human Interview (45 min)
5. References: AI Reference Check (async)
6. Offer Close (Human)
1. Quick Application (AI-powered form)
2. Screening: AI Instant Screen (5-10 min)
3. Interview: AI Behavioral Interview (15-20 min)
4. Final Check: Human Video Call (15 min)
5. Onboarding (AI Coordinator)
- Template cards stack vertically on mobile
- Hiring plan builder uses accordion UI
- Drag & drop becomes move up/down buttons
- Multi-step form with clear progress indicator
Track:
- Template selection rates
- Customization patterns (what gets added/removed)
- Time to complete job creation
- Completion rates at each step
- Template performance (time to hire, quality of hire)