Hiring Pipeline Builder
Run ID: 69cb4b7261b1021a29a87b4d2026-03-31HR
PantheraHive BOS
BOS Dashboard

Build a complete hiring pipeline with job descriptions, interview question banks, scoring rubrics, offer letter templates, and onboarding checklists.

Step 1: Research & Design Requirements for Hiring Pipeline Builder

This document outlines the detailed design specifications, proposed wireframe descriptions, color palette recommendations, and user experience (UX) guidelines for the "Hiring Pipeline Builder" application. The goal is to create an intuitive, powerful, and comprehensive tool that streamlines the entire hiring process from job description creation to candidate onboarding.


1. Detailed Design Specifications

The Hiring Pipeline Builder will be a modular, cloud-based application designed to centralize and automate key aspects of recruitment.

1.1 Core Modules & Functionalities

  • Job Description (JD) Generator:

* AI-Assisted Creation: Users input job title, department, and key responsibilities; AI suggests relevant skills, qualifications, and cultural fit statements.

* Template Library: Access to pre-built, industry-specific JD templates.

* Rich Text Editor: Full formatting options, spell check, and grammar suggestions.

* Version Control: Track changes and revert to previous JD versions.

* Custom Fields: Ability to add company-specific sections (e.g., benefits, company culture statement).

* SEO Optimization: Suggestions for keywords to improve job board visibility.

  • Interview Question Bank Manager:

* Categorized Questions: Behavioral, technical, situational, culture-fit, role-specific.

* Pre-built Templates: Libraries of questions for common roles and seniority levels.

* Custom Question Creation: Add, edit, and categorize custom questions.

* Question Sets: Group questions into sets for different interview stages (e.g., Phone Screen, Technical Interview, Manager Interview).

* Search & Filter: Efficiently find questions by keyword, category, or associated skill.

  • Scoring Rubric Creator:

* Customizable Criteria: Define specific skills, competencies, or attributes to evaluate.

* Rating Scales: Support for various scales (e.g., 1-5, poor-excellent, yes/no) with customizable labels.

* Weighted Criteria: Assign different weights to criteria to reflect their importance.

* Automated Score Calculation: Calculate overall candidate scores based on rubric inputs.

* Feedback Capture: Dedicated sections for interviewer notes and comments.

* Rubric Templates: Save and reuse rubrics for similar roles.

  • Offer Letter Template Generator:

* Dynamic Fields: Auto-populate candidate name, salary, start date, title, and other offer details.

* Legal Compliance: Pre-approved clauses and disclaimers (editable by legal admin).

* Customizable Sections: Add company benefits, equity details, signing bonuses, etc.

* E-Signature Integration (Future Scope): Streamline offer acceptance.

* Version Control: Manage different offer letter versions.

  • Onboarding Checklist Builder:

* Task Management: Create, assign, and track onboarding tasks (e.g., IT setup, HR paperwork, team introductions, training).

* Role-Specific Checklists: Generate checklists tailored to job roles or departments.

* Stakeholder Assignment: Assign tasks to relevant individuals (HR, IT, Manager, Mentor).

* Due Dates & Reminders: Set deadlines and automated notifications.

* Progress Tracking: Visual indicators of onboarding completion status.

* Resource Library: Link to internal documents, policies, and training materials.

1.2 System-Wide Features

  • User & Role Management:

* Roles: Admin, Hiring Manager, Recruiter, Interviewer, HR Coordinator.

* Permissions: Granular control over module access and data visibility based on roles.

  • Pipeline Management:

* Visual Pipeline Stages: Customizable drag-and-drop stages (e.g., Application, Phone Screen, Interview, Offer, Hired).

* Candidate Tracking: Move candidates through stages, view status, and associated data.

  • Integration Capabilities (API-first approach):

* Applicant Tracking Systems (ATS): Seamless import/export of candidate data.

* HR Information Systems (HRIS): Transfer new hire data post-onboarding.

* Calendar Tools: Schedule interviews directly (e.g., Google Calendar, Outlook).

* Communication Tools: Email, internal chat integration for notifications.

  • Reporting & Analytics:

* Key Metrics: Time-to-hire, candidate source effectiveness, interview feedback distribution, pipeline conversion rates.

* Customizable Dashboards: Visual representation of hiring data.

  • Security & Compliance:

* Data Encryption: At rest and in transit.

* Access Control: Robust authentication and authorization.

* Audit Trails: Log all significant user actions.

* GDPR/CCPA Compliance: Tools for data privacy and retention.

  • Scalability & Performance: Designed to handle varying company sizes and recruitment volumes.

2. Wireframe Descriptions (Conceptual Flow)

The application will follow a logical, wizard-driven flow for pipeline creation, with intuitive dashboards for management.

2.1 Dashboard / Home Screen

  • Layout: Centralized overview with quick access to active pipelines, pending tasks, and key metrics.
  • Elements:

* "Create New Pipeline" button (prominent).

* List of "Active Hiring Pipelines" (Job Title, Department, Status, # Candidates).

* "My Pending Tasks" widget (e.g., interviews to conduct, offers to review).

* "Quick Stats" widget (e.g., "Avg. Time-to-Hire," "Open Roles").

* Navigation sidebar: Home, Pipelines, Templates, Reports, Settings.

2.2 New Hiring Pipeline Creation Wizard

This will be a multi-step, guided process.

  • Step 1: Job Details & Description

* Layout: Form fields for Job Title, Department, Location, Employment Type.

* Elements:

* Text area for Job Description with AI assist button ("Generate Draft," "Improve Text").

* Option to "Load from Template" or "Import from Existing Job."

* Preview panel for the generated JD.

* Navigation: "Next," "Save Draft," "Cancel."

  • Step 2: Define Interview Stages & Questions

* Layout: Drag-and-drop interface for pipeline stages, with an associated question management panel.

* Elements:

* Default stages (e.g., Application, Phone Screen, Interview 1, Interview 2, Offer, Hired) with ability to add/remove custom stages.

* For each stage: "Add Questions" button.

* Question Selection Modal: Searchable bank of questions, ability to add new questions, group into sets.

* Visual representation of questions assigned to each stage.

  • Step 3: Create Scoring Rubric

* Layout: Table-like interface for defining criteria and rating scales.

* Elements:

* "Add Criterion" button.

* For each criterion: Name (e.g., "Problem Solving," "Communication"), Description, Weight (%), Rating Scale Type (e.g., 1-5 with custom labels).

* Option to "Load from Template."

* Preview of how the rubric will appear to interviewers.

  • Step 4: Offer Letter & Onboarding Checklist

* Layout: Two distinct sections for offer letter and onboarding.

* Elements:

* Offer Letter: "Select Template" dropdown, preview panel with dynamic fields highlighted, "Edit Template" button.

* Onboarding Checklist: "Select Template" dropdown, list of tasks with assignees and due dates, "Edit Checklist" button.

* Option to skip or configure later.

  • Step 5: Review & Launch

* Layout: Summary of all configurations from previous steps.

* Elements:

* Editable summary cards for JD, Interview Stages, Rubric, Offer, Onboarding.

* "Launch Pipeline" button.

2.3 Individual Module Management Screens (e.g., "Templates" section)

  • Layout: List view with search, filter, and action buttons.
  • Elements:

* Tabbed navigation for "Job Descriptions," "Interview Question Banks," "Scoring Rubrics," "Offer Letters," "Onboarding Checklists."

* Table/card view of existing templates.

* "Create New [Template Type]" button.

* Actions per item: Edit, Duplicate, Delete, View Usage.


3. Color Palettes

A professional, modern, and accessible color palette will enhance usability and brand perception.

3.1 Primary Brand Colors

  • Panthera Blue: #0047AB (Strong, trustworthy, professional - for primary buttons, headers, active states)
  • Dark Grey/Charcoal: #333333 (For primary text, key UI elements - ensures readability)

3.2 Secondary/Accent Colors

  • Cyan/Teal: #00BCD4 (Energetic, modern - for interactive elements, highlights, progress indicators)
  • Light Grey: #F0F2F5 (Subtle background, separators, inactive states)

3.3 Neutral Colors

  • Background White: #FFFFFF (Clean, spacious content areas)
  • Border Grey: #DDDDDD (Subtle borders, dividers)
  • Text Black: #222222 (Main body text for optimal contrast)

3.4 Status Colors

  • Success Green: #4CAF50 (Positive feedback, completion)
  • Warning Orange: #FFC107 (Caution, pending actions)
  • Error Red: #F44336 (Alerts, invalid input)
  • Info Blue: #2196F3 (Informational messages)

3.5 Accessibility Considerations

  • Ensure sufficient contrast ratios (WCAG 2.1 AA standard) for all text and interactive elements.
  • Avoid relying solely on color to convey information (e.g., use icons, text labels, or patterns in addition to color for status).

4. UX Recommendations

The user experience will prioritize clarity, efficiency, and empowerment for hiring teams.

4.1 Intuitive & Guided Workflow

  • Wizard-Driven Process: For pipeline creation, guiding users step-by-step to reduce cognitive load.
  • Clear Navigation: Consistent global navigation and breadcrumbs to indicate current location.
  • Onboarding Tour/Tooltips: Provide initial guidance for new users on key features.

4.2 Consistency & Predictability

  • Uniform UI Elements: Consistent button styles, form fields, and iconography across the application.
  • Standardized Terminology: Use clear, unambiguous language that is consistent throughout.
  • Predictable Interactions: Elements should behave as users expect (e.g., clicking a link navigates, clicking a button performs an action).

4.3 Efficiency & Automation

  • Template-First Approach: Encourage the use of templates to quickly generate JDs, rubrics, and checklists.
  • AI Assistance: Leverage AI for drafting, suggestions, and optimization to save time.
  • Bulk Actions: Allow users to perform actions on multiple items (e.g., move multiple candidates, delete multiple questions).
  • Keyboard Shortcuts: Offer shortcuts for power users to expedite common tasks.

4.4 Feedback & Error Handling

  • Real-time Feedback: Provide immediate visual cues for user actions (e.g., loading spinners, success messages).
  • Clear Error Messages: Inform users what went wrong and how to fix it, rather than generic errors.
  • Progress Indicators: Visually show progress during multi-step processes or data loading.
  • Undo/Redo: Implement functionality where appropriate to allow users to correct mistakes easily.

4.5 Customizability & Flexibility

  • Configurable Settings: Allow administrators to tailor the application to their organization's specific needs (e.g., custom stages, branding).
  • Personalized Dashboards: Enable users to customize their dashboard widgets or view preferences.

4.6 Accessibility (WCAG 2.1 AA)

  • Keyboard Navigation: Ensure all interactive elements are reachable and usable via keyboard.
  • Screen Reader Compatibility: Provide proper ARIA labels and semantic HTML.
  • Color Contrast: Adhere to recommended contrast ratios (as outlined in the Color Palette section).
  • Scalable Text: Allow users to adjust text size without breaking layout.

4.7 Responsiveness & Performance

  • Mobile-Friendly Design: Ensure the application is fully functional and visually appealing on various screen sizes (desktop, tablet, mobile).
  • Optimized Loading Times: Prioritize fast page loads and responsive interactions to prevent user frustration.

This detailed design and requirements document provides a robust foundation for the development of the Hiring Pipeline Builder. The focus on intuitive design, powerful features, and a seamless user experience will empower hiring teams to operate more efficiently and effectively.

gemini Output

Hiring Pipeline Builder: Detailed Design Specifications

This document outlines the detailed design specifications for the "Hiring Pipeline Builder" application, covering user interface (UI) and user experience (UX) elements, functionality, visual design, and interaction patterns. The goal is to create an intuitive, powerful, and professional tool that streamlines the entire hiring process.


1. Overall System Architecture & Navigation

The application will feature a clear, persistent navigation structure, typically a left-hand sidebar or top-bar navigation, providing quick access to core modules.

Core Modules:

  • Dashboard: Overview of active pipelines, key metrics.
  • Jobs: Manage all job openings.
  • Candidates: Manage all applicants across various jobs.
  • Templates: Central repository for Job Descriptions, Interview Questions, Scoring Rubrics, Offer Letters, and Onboarding Checklists.
  • Settings: Account-wide configurations, user management, integrations.

Global Elements:

  • Header: Application logo, user profile/settings access, global search (optional, for candidates/jobs).
  • Sidebar Navigation: Icons and labels for core modules, potentially collapsible.
  • Content Area: Main display for module-specific information and interactions.

2. Detailed Design Specifications

2.1. Dashboard / Pipeline Overview

Purpose: Provide an at-a-glance view of all active hiring pipelines and their current status.

Key Components:

  • Pipeline Visualization:

* Kanban Board View (Primary): Each active job opening is a swimlane or a card. Within each job, candidates are displayed as cards, grouped by their current pipeline stage (e.g., "Applied," "Screening," "Interview," "Offer," "Hired").

* Drag-and-Drop: Candidates can be moved between stages within a job's pipeline.

* Quick Stats per Job: Number of candidates in each stage, days open, new applicants.

  • Key Metrics Section:

* Total Active Jobs, Total Candidates in Pipeline, Average Time-to-Hire (if data available), New Applicants (last 24h/7d).

* Visualizations: Bar charts for candidate distribution across stages, line chart for application trends.

  • Quick Actions: "Create New Job," "View All Candidates," "Manage Templates."
  • Notifications/Alerts: Reminders for overdue tasks, new applications, interview schedules.

2.2. Job Management Module

Purpose: Create, edit, publish, and manage all job openings.

2.2.1. Job Listing Page

  • Layout: Table or Card View, toggleable.
  • Filters: By status (Open, Closed, Draft), Department, Location, Hiring Manager.
  • Search: Keyword search across job titles, descriptions.
  • Sort: By creation date, status, number of applicants.
  • Actions per Job: View Details, Edit, Duplicate, Close/Reopen, Delete.
  • Information per Job: Job Title, Status, Department, Location, # Applicants, # Hired, Date Posted.

2.2.2. Job Detail Page (Creation/Editing)

  • Layout: Multi-step form or tabbed interface for comprehensive configuration.
  • Sections/Tabs:

* A. Basic Information:

* Job Title: Text input.

* Department: Dropdown (pre-configured list).

* Location: Text input with auto-suggest (if integrated with maps API).

* Job Type: Dropdown (Full-time, Part-time, Contract, Internship).

* Salary Range: Min/Max numerical input, currency selector.

* Hiring Manager: Dropdown (user list).

* Application Deadline: Date picker (optional).

* B. Job Description:

* Rich Text Editor: Standard editor with formatting options (bold, italic, lists, links, headings).

* Template Selector: Dropdown to load pre-defined Job Description Templates.

* Preview: Ability to see how the JD will appear to applicants.

* C. Pipeline Configuration:

* Default Stages: Pre-populated with common stages (Application, Screening, Interview 1, Interview 2, Offer, Hired, Rejected).

* Customization:

* Drag-and-Drop: Reorder stages.

* Add/Remove Stages: Buttons to add custom stages, delete non-essential ones.

* Rename Stages: In-line editing of stage names.

* Stage-Specific Actions/Automation: (Advanced) e.g., auto-send rejection email after X days in "Rejected" stage.

* D. Interview & Assessment:

* Interview Question Banks: Multi-select dropdown to link relevant IQBs.

* Scoring Rubrics: Multi-select dropdown to link relevant SRs.

* Interview Schedule Integration: (Future scope) Link to calendar tools.

* E. Application Form:

* Standard Fields: Name, Email, Phone, Resume Upload (required/optional).

* Custom Questions: Add text, multiple-choice, file upload questions.

* Cover Letter: Required/Optional toggle.

* F. Publish/Save:

* Status Toggle: Draft, Open, Closed.

* Save Draft: Save changes without publishing.

* Publish Job: Make the job publicly available (if integrated with career page/job boards).

2.3. Candidate Management Module

Purpose: Track, manage, and evaluate individual candidates throughout the hiring process.

2.3.1. Candidate Listing Page

  • Layout: Table View (Primary), Card View (Secondary).
  • Filters: By Job, Stage, Status (Active, Hired, Rejected), Source (LinkedIn, Indeed, Referral).
  • Search: Keyword search across name, email, resume content.
  • Sort: By application date, last activity, current stage.
  • Bulk Actions: Bulk move to stage, bulk reject, export.
  • Information per Candidate: Name, Job Applied For, Current Stage, Application Date, Last Activity.

2.3.2. Candidate Profile Page

  • Layout: Two-column layout with a summary panel on the left and detailed tabs on the right.
  • Left Panel (Summary & Actions):

* Candidate Photo/Avatar, Name, Contact Info.

* Current Job & Stage: Clearly visible, with a "Move Stage" dropdown/button.

* Quick Actions: Email Candidate, Schedule Interview, Reject, Make Offer.

* Tags/Labels: Custom tags for categorization (e.g., "Top Talent," "Follow Up").

  • Right Panel (Detailed Tabs):

* A. Application:

* Resume Viewer: Embedded viewer for PDFs, DOCX.

* Cover Letter: Text display.

* Application Questions: Answers to custom questions.

* Source: How the candidate applied.

* B. Interviews & Scorecards:

* List of Interviews: Date, Interviewer, Interview Type (Phone Screen, Technical, Behavioral).

* Scorecard Access: Link to completed scorecards for each interview.

* Add Interview Notes: Rich text editor for general notes.

* C. Communication:

* Email Log: Record of all emails sent to/from the candidate via the platform.

* Send Email: Integrated email client with templates.

* D. Activity Log:

* Chronological feed of all actions: Stage changes, notes added, emails sent, scorecards completed.

* E. Offer Details: (Visible once an offer is extended)

* Offer Letter sent, Salary, Start Date, Acceptance Status.

2.4. Template Management Module

Purpose: Centralize the creation, editing, and management of all reusable content templates.

2.4.1. Job Description Templates

  • Listing: Table/Card view of all JD templates.
  • Actions: Create New, Edit, Duplicate, Delete.
  • Editor: Rich text editor with merge field insertion (e.g., {{job_title}}, {{department}}).

2.4.2. Interview Question Banks (IQB)

  • Listing: List of IQBs.
  • Actions: Create New, Edit, Duplicate, Delete.
  • Editor:

* Bank Name: Text input.

* Questions: List of questions. Each question has:

* Question Text: Text input.

* Type: Dropdown (Behavioral, Technical, Situational, General).

* Suggested Prompts/Follow-ups: Optional text area.

* Expected Answers/Key Points: Optional text area for interviewers.

* Categorization/Grouping: Ability to group questions for specific interview rounds (e.g., "Phone Screen Questions," "Senior Dev Technical").

2.4.3. Scoring Rubrics (SR)

  • Listing: List of SRs.
  • Actions: Create New, Edit, Duplicate, Delete.
  • Editor:

* Rubric Name: Text input.

* Criteria: List of evaluation criteria (e.g., "Problem Solving," "Communication," "Technical Skills").

* Each criterion has a description.

* Scoring Scale: Configurable (e.g., 1-5, Poor-Excellent).

* Score Level Descriptions: For each score on the scale, provide a descriptive note (e.g., "1 - Limited understanding," "5 - Exceptional mastery").

* Overall Recommendation: Field for interviewer's final recommendation (Hire, No Hire, Strong No Hire).

2.4.4. Offer Letter Templates (OL)

  • Listing: List of OL templates.
  • Actions: Create New, Edit, Duplicate, Delete.
  • Editor:

* Rich Text Editor: Standard editor.

* Merge Field Insertion: Extensive list of merge fields (e.g., {{candidate_name}}, {{job_title}}, {{salary}}, {{start_date}}, {{manager_name}}, {{company_address}}, {{equity_details}}).

* Preview: Generate a preview with sample data.

* Version Control: (Optional) Track changes to templates.

2.4.5. Onboarding Checklists (OC)

  • Listing: List of OC templates.
  • Actions: Create New, Edit, Duplicate, Delete.
  • Editor:

* Checklist Name: Text input.

* Tasks: List of tasks. Each task has:

* Task Description: Text input.

* Assignee: Dropdown (e.g., IT, HR, Manager, Candidate).

* Due Date: Relative to start date (e.g., "Day 1," "Week 1," "Before Start").

* Dependencies: (Optional) Task must be completed before another.

* Associated Documents/Links: Attach relevant files or links.

* Sections/Groups: Ability to group tasks (e.g., "Pre-Boarding," "First Day," "First Week").


3. Wireframe Descriptions (Key Screens)

3.1. Dashboard / Pipeline Overview

  • Layout:

* Top Bar: Logo, Global Search, User Profile/Settings.

* Left Sidebar: Main navigation for Dashboard, Jobs, Candidates, Templates, Settings.

* Main Content Area (Top): Key Metrics section (cards for active jobs, total candidates, etc., small charts).

* Main Content Area (Bottom): Kanban Board. Each job gets a horizontal lane. Within each lane, vertical columns represent pipeline stages. Candidate cards populate these columns, draggable between stages.

3.2. Job Detail Page (Creation/Edit)

  • Layout:

* Top Bar: Job Title, Save/Publish buttons.

* Left Panel: Vertical navigation for job configuration sections (Basic Info, Job Description, Pipeline Config, Interview & Assessment, Application Form).

* Right Panel: Main content area displaying the forms/editors for the currently selected section. For example, if "Job Description" is selected, a rich text editor with template selection will be prominent. If "Pipeline Configuration" is selected, a drag-and-drop interface for stages will be shown

gemini Output

Hiring Pipeline Builder: Final Design Assets & Specifications

This document outlines the comprehensive design specifications, wireframe descriptions, color palettes, and user experience (UX) recommendations for the "Hiring Pipeline Builder." This deliverable ensures a professional, intuitive, and highly functional tool for creating and managing hiring processes.


1. Project Overview & Design Philosophy

Project Goal: To provide HR professionals and recruiters with a robust, user-friendly platform for building, customizing, and deploying complete hiring pipelines, encompassing job descriptions, interview stages, scoring, offer letters, and onboarding.

Design Philosophy:

Our design approach for the Hiring Pipeline Builder centers on Clarity, Efficiency, and Flexibility.

  • Clarity: Information is presented in a straightforward, easy-to-understand manner, minimizing cognitive load.
  • Efficiency: Streamlined workflows and intuitive interactions allow users to complete tasks quickly and effectively.
  • Flexibility: The system offers robust customization options while providing smart defaults and templates to accelerate pipeline creation.
  • Consistency: A unified visual language and interaction model across all modules for a seamless user experience.

2. Core Design Principles

  1. User-Centricity: All design decisions prioritize the needs and pain points of HR professionals and recruiters.
  2. Modularity: The pipeline is broken down into distinct, manageable components that can be built and customized independently.
  3. Guidance & Feedback: Proactive guidance, inline help, and clear feedback mechanisms ensure users feel supported throughout the process.
  4. Scalability: The design accommodates varying complexities of hiring pipelines, from simple to highly detailed.
  5. Accessibility: Adherence to WCAG 2.1 AA standards to ensure usability for all individuals.

3. Design Specifications

3.1 User Interface (UI) Elements

  • Layout Grid:

* Desktop: 12-column flexible grid system with a maximum content width of 1440px. Gutters of 24px and margins of 48px on larger screens.

* Tablet: 8-column grid, 16px gutters.

* Mobile: 4-column grid, 16px gutters.

* Spacing: A consistent 8px baseline grid for all vertical and horizontal spacing (e.g., 8px, 16px, 24px, 32px, 48px, 64px).

  • Typography: (Detailed in Section 6)

* Primary Font Family: Sans-serif (e.g., Inter, Open Sans, Lato) for readability and modern aesthetic.

* Fallback Fonts: System UI fonts.

  • Iconography: (Detailed in Section 7)

* Style: Line-based, consistent stroke weight (1.5px or 2px), filled icons for interactive states or critical actions.

* Library: Utilizing a well-known icon library (e.g., Font Awesome, Material Icons, or custom set) for consistency.

  • Component Library:

* Buttons: Primary (filled, brand color), Secondary (outlined, brand color), Tertiary (text only), Destructive (red). Consistent padding, border-radius (4px).

* Input Fields: Text fields, text areas, dropdowns, checkboxes, radio buttons, toggles. Clear focus states, validation messages.

* Cards: Used for grouping related information (e.g., pipeline summary, template previews). Consistent shadow and border-radius.

* Modals/Drawers: For focused tasks or detailed information. Clear close buttons, consistent styling.

* Tabs/Accordions: For organizing content within sections.

* Progress Indicators: Stepper components for multi-step processes, loading spinners for asynchronous operations.

* Notifications: Toast messages for success/error/info feedback, in-app alerts for critical information.

  • Data Visualization: Simple charts (e.g., bar, pie) for pipeline analytics (e.g., candidate stage distribution) if applicable.

3.2 Interaction Design

  • Workflow: Linear, guided workflows for pipeline creation with clear step indicators. Drag-and-drop functionality for reordering interview stages or questions.
  • Feedback: Instant visual feedback on user actions (e.g., button clicks, form validation). Clear success/error messages.
  • Error Handling: Inline validation for forms, clear error messages with actionable advice, graceful degradation for system errors.
  • Hover States: Visual cues for interactive elements upon hover (e.g., slight background change, border highlight).
  • Active States: Clear visual indication of selected items or active navigation.
  • Contextual Menus: For common actions on specific items (e.g., "Edit," "Duplicate," "Delete" on a pipeline).

3.3 Accessibility (WCAG 2.1 AA Compliance)

  • Color Contrast: All text and interactive elements meet minimum contrast ratios (4.5:1 for small text, 3:1 for large text/UI components).
  • Keyboard Navigation: Full keyboard operability for all interactive elements and navigation.
  • Screen Reader Support: Semantic HTML, ARIA attributes where necessary, meaningful alt text for images.
  • Focus Management: Clear and visible focus indicators.
  • Resizable Text: Users can resize text up to 200% without loss of content or functionality.

3.4 Responsiveness

  • Adaptive Design: The interface adapts gracefully to various screen sizes (desktop, tablet, mobile) by adjusting layout, stacking elements, and optimizing touch targets.
  • Touch Targets: Minimum 48x48px touch targets for mobile interactions.
  • Performance: Optimized image loading, lazy loading, and efficient code to ensure fast load times across all devices.

4. Wireframe Descriptions (Key Screens)

4.1 Dashboard / Pipeline Overview

  • Purpose: Provides an at-a-glance view of all existing hiring pipelines, their status, and key metrics.
  • Key Elements:

* Header: Global navigation, "Create New Pipeline" primary CTA, search bar, user profile.

* Pipeline List/Cards: Each card represents a pipeline, displaying:

* Job Title

* Department/Team

* Status (Draft, Active, Archived)

* Number of Candidates (if integrated with ATS)

* Creation Date

* Last Modified Date

* Action buttons (Edit, Duplicate, View Details, Archive/Delete)

* Filters & Sort: Options to filter by status, department, creation date, and sort by various criteria.

* "Create New Pipeline" Button: Prominently placed for quick access.

  • User Flow: Users can quickly identify and access specific pipelines, create new ones, or get an overview of their hiring activities.

4.2 New Pipeline Creation Wizard (Multi-Step Form)

  • Purpose: Guides users through a structured process to build a complete hiring pipeline. Each step focuses on a specific component.
  • Key Elements (across all steps):

* Progress Stepper: Visual indicator of current step and overall progress (e.g., 1/6, Basic Info, Job Description, etc.).

* Navigation Buttons: "Back," "Next," "Save Draft," "Cancel."

* Contextual Help: Tooltips, inline descriptions, and links to documentation.

4.2.1 Step 1: Basic Information

  • Purpose: Define core details of the job and pipeline.
  • Key Elements:

* Job Title (required)

* Department/Team (dropdown, with option to add new)

* Hiring Manager (dropdown)

* Location (text input, multi-select)

* Employment Type (dropdown: Full-time, Part-time, Contract, etc.)

* Target Start Date (date picker)

* Pipeline Name (auto-generated from Job Title, editable)

4.2.2 Step 2: Job Description Builder

  • Purpose: Create or import a detailed job description.
  • Key Elements:

* Text Editor: Rich text editor (WYSIWYG) with formatting options (bold, italics, lists, headings, links).

* Template Selector: Option to "Start from Template" (pre-defined JDs).

* Sections: Clearly defined input areas for:

* Job Summary

* Responsibilities

* Qualifications (Required, Preferred)

* Benefits

* Company Culture/About Us

* Preview Button: To see how the JD will appear to candidates.

4.2.3 Step 3: Define Interview Stages & Questions

  • Purpose: Structure the interview process and associated questions.
  • Key Elements:

* Stage List: Draggable list of interview stages (e.g., Phone Screen, Technical Interview, Manager Interview, Panel Interview).

* Each stage can be expanded to reveal questions.

* "Add Stage" button.

* Stage Configuration: For each stage:

* Stage Name (editable)

* Description (optional)

* Interviewers (multi-select from user directory)

* Duration (dropdown)

* Question Bank Integration:

* "Add Question" button: Opens a modal/drawer to select from a question bank or create a new one.

* For each question: Question Text, Type (Behavioral, Technical, Situational), Expected Answer/Key Points (optional).

* Drag-and-drop to reorder questions within a stage.

* "Copy from Template" Button: Import predefined interview stage structures.

4.2.4 Step 4: Scoring Rubric Configuration

  • Purpose: Define criteria and weighting for evaluating candidates at each interview stage.
  • Key Elements:

* Stage Selector: Dropdown or tabs to select which stage's rubric to configure.

* Criteria List:

* "Add Criterion" button.

* For each criterion: Name (e.g., Communication Skills, Problem Solving), Description, Weighting (slider/input, sum must be 100% for the stage).

* Scoring Scale Selector (e.g., 1-5, Poor-Excellent).

* Overall Score Calculation: Display how individual criterion scores combine for an overall stage score.

* "Load Template" Button: For pre-defined rubrics.

4.2.5 Step 5: Offer Letter Template Selection/Customization

  • Purpose: Prepare the standard offer letter for this specific pipeline.
  • Key Elements:

* Template Gallery: Visual cards of available offer letter templates. "Select" button.

* Rich Text Editor: Similar to JD builder, for customizing the selected template.

* Dynamic Fields: Placeholders for candidate-specific data (e.g., {{candidate_name}}, {{salary}}, {{start_date}}) that will be populated automatically.

* Preview Functionality: See how the offer letter will look.

4.2.6 Step 6: Onboarding Checklist Customization

  • Purpose: Define the initial onboarding tasks for new hires from this pipeline.
  • Key Elements:

* Checklist Item List:

* "Add Task" button.

* For each task: Task Name, Description (optional), Assignee (dropdown), Due Date (relative, e.g., "Day 1," "Week 1").

* Drag-and-drop to reorder tasks.

* "Load Template" Button: For standard onboarding checklists.

* Task Categories: Option to group tasks (e.g., HR Forms, IT Setup, Team Introduction).

4.2.7 Step 7: Review & Publish

  • Purpose: Final review of the entire pipeline before activation.
  • Key Elements:

* Summary Cards: Collapsible sections for each component (Basic Info, JD, Stages, Rubric, Offer, Onboarding).

* "Edit" Links: Quick jump to specific steps for modifications.

* Validation Messages: Highlight any incomplete or invalid configurations.

* Primary CTA: "Publish Pipeline" (becomes active).

hiring_pipeline_builder.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}