JD Generator - AI Job Description Creator
Modern web application for generating professional job descriptions using Google Gemini AI with customizable sections and candidate assessment tests
JD Generator - AI Job Description Creator

A modern web application for generating professional job descriptions using AI (Google Gemini), featuring customizable sections, rich text editing, and intelligent candidate assessment tests.
Overview
JD Generator streamlines the recruitment process by leveraging Google Gemini AI to create tailored job descriptions for different platforms and audiences. The application offers real-time editing, multiple style options, and automated candidate assessment capabilities.
Key Features
AI-Powered Generation
Generate professional job descriptions using Google Gemini AI
Rich Text Editor
Live editing with formatting toolbar and instant preview
Multiple Styles
Choose from Classic, Lifestyle, or Growth-oriented styles
Assessment Tests
AI-generated candidate tests with automatic scoring
Screenshots
Clean, modern interface with dark
mode and gradient design.
Customizable options
for channel, style, and candidate profile.
Live editing with formatting
tools and instant preview.
AI-generated tests with
detailed scoring and feedback.
Core Features
AI-Powered Job Description Generation
The application uses Google Gemini AI to generate professional, engaging job descriptions tailored to your specific needs.
Customization Options:
- Job Title - Enter any position (e.g., "Junior Cybersecurity Engineer")
- Channel Selection - Social Media, Pracuj.pl, or OLX
- Style Options - Classic, Lifestyle, or Growth-oriented
- Candidate Profile - Students, Experienced professionals, or Career returners
- Section Control - Check/uncheck specific sections to include
The AI adapts the tone, length, and content based on your selected channel and target audience.
Rich Text Editor
Edit generated content in real-time with a powerful formatting toolbar:
- Bold, Italic, and Underline text
- Bullet lists and structured content
- Click-to-edit functionality
- Instant preview updates
- One-click design refactoring
Candidate Assessment Tests
Generate intelligent assessment tests to evaluate candidates:
Test Generation:
- Click "Generate Test" button
- AI creates 5 relevant questions based on the job description
- Questions are tailored to the position requirements
Test Evaluation:
- Candidates answer all questions in a popup interface
- Submit answers for automatic scoring
- Receive detailed feedback and scoring breakdown
- AI evaluates answers based on job requirements
Assessment tests help filter candidates early in the recruitment process, saving time and resources.
Technical Architecture
Backend Stack
FastAPI
Modern, fast web framework for building APIs
Python 3.8+
Robust backend with async support
Google Gemini
Advanced AI model for content generation
Jinja2
Powerful templating engine
Frontend Stack
- HTML5 - Semantic markup
- CSS3 - Modern styling with gradients and animations
- JavaScript - Interactive functionality
- Dark Mode - Eye-friendly interface
Key Technologies
# Core Dependencies
fastapi==0.104.1
uvicorn==0.24.0
google-generativeai==0.3.1
python-dotenv==1.0.0
jinja2==3.1.2Project Structure
.
├── main.py # FastAPI application
├── gemini_client.py # Gemini API client
├── templates/
│ └── job_post.html # Job post template
├── .env # Environment variables
├── requirements.txt # Python dependencies
├── cache.json # Generated content cache
└── README.md # DocumentationAPI Endpoints
Main Endpoints
GET /
- Main application interface
- Serves the job description generator UI
POST /generate
- Generate job descriptions
- Parameters: title, channel, style, profile, sections
POST /generate-test
- Generate candidate assessment test
- Returns 5 AI-generated questions
POST /score-test
- Score candidate test answers
- Returns detailed feedback and scoring
Installation & Setup
Requirements:
- Python 3.8 or higher
- Google Gemini API key
- pip package manager
Get Gemini API Key:
- Visit https://aistudio.google.com/app/apikey
- Create a new API key
- Copy for configuration
Clone and Setup:
# Clone repository
git clone <your-repo-url>
cd <project-directory>
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Linux/Mac:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txtEnvironment Variables:
Create a .env file in the project root:
GEMINI_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-2.5-proNever commit your .env file to version control. Add it to .gitignore.
Start the Application:
# Start server with auto-reload
uvicorn main:app --reload
# Or specify custom port
uvicorn main:app --reload --port 8001Access the application:
http://localhost:8000Usage Guide
Step 1: Configure Job Details
- Enter the Job Title (e.g., "Senior Python Developer")
- Select the Channel where the job will be posted
- Choose the Style that matches your company culture
- Select the Candidate Profile you're targeting
Step 2: Customize Sections
Check or uncheck sections to include:
- Job Overview
- Key Responsibilities
- Required Qualifications
- Preferred Skills
- Benefits & Perks
- Company Culture
- Application Process
Step 3: Generate & Edit
- Click "Generate Job Post"
- Wait for AI to create the description
- Click directly in the preview to edit text
- Use formatting toolbar for styling
- Click "Refactor Design" for variations
Step 4: Candidate Assessment
- Click "Generate Test" button
- Review the 5 AI-generated questions
- Share test link with candidates
- Candidates submit answers
- View automatic scoring and feedback
Features in Detail
Automatic Caching
Generated content is automatically cached to improve performance:
{
"job_title_channel_style": {
"content": "Generated job description...",
"timestamp": "2024-01-15T10:30:00"
}
}Responsive Design
- Mobile-friendly interface
- Adaptive layouts for all screen sizes
- Touch-optimized controls
- Readable typography on all devices
Dark Mode UI
- Eye-friendly dark theme
- Gradient accents for visual appeal
- High contrast for readability
- Modern, professional appearance
Troubleshooting
Common Issues
Port Already in Use:
uvicorn main:app --reload --port 8001API Key Errors:
- Verify
.envfile exists - Check API key is valid
- Ensure no extra spaces in key
Module Not Found:
pip install -r requirements.txtUse Cases
Recruitment Agencies
Generate multiple job descriptions quickly for various clients
HR Departments
Standardize job postings across different platforms
Startups
Create professional job descriptions without dedicated HR
Freelancers
Offer job description writing as a service
Benefits
- Time Saving - Generate descriptions in seconds instead of hours
- Consistency - Maintain professional tone across all postings
- Optimization - AI-optimized content for each platform
- Flexibility - Easy customization and editing
- Assessment - Built-in candidate evaluation tools
- Cost-Effective - No need for external copywriting services
Future Enhancements
- Multi-language support
- Integration with job boards (LinkedIn, Indeed)
- Template library for common positions
- Collaborative editing features
- Analytics dashboard for job post performance
- Bulk generation for multiple positions
- Custom branding options
- Export to PDF/DOCX formats
- Advanced candidate scoring algorithms
- Interview question generation
Security & Privacy
- API keys stored securely in environment variables
- No sensitive data stored in cache
- HTTPS recommended for production
- Regular security updates
License
Educational and internal use
Powered by Google Gemini AI - Making recruitment smarter and faster