Generation System
The JobyApp Generation System automates the creation of personalized documents including cover letters, CVs, and professional profiles. Configure generation parameters, manage runs, and export customized documents at scale.
System Architecture
The generation system follows a three-step workflow: Input Configuration → Document Generation → Export & Management
1. Input Configuration
Define search parameters, target positions, and generation settings
2. AI Processing
AI analyzes job requirements and generates personalized content
3. Export & Manage
Export documents in multiple formats and track generation history
Input Configuration
Configure your generation parameters using the Input tab in the Generation Dashboard:
Search Parameters
Basic Search Configuration
Keywords & Location
- Keywords: Job titles, skills, technologies
- Location: Target city, region, or "Remote"
- Sites: Job platforms to search
- Max Results: Number of job offers to process
Advanced Filters
- Contract Types: CDI, CDD, Freelance, etc.
- Experience Level: Junior, Mid-level, Senior
- Publication Date: Hours since posting
- Remote Options: Remote, hybrid, on-site
const inputConfig = {
keywords: "Senior React Developer",
location: "Paris, France",
sites: ["linkedin", "indeed", "wttj"],
maxResults: 20,
contractType: ["CDI"],
experienceLevel: ["Confirmé", "Senior"],
hoursOld: 72,
remote: true
};Generation Configuration
Customize document generation settings in the Config tab:
Document Types
Cover Letter
- Personalized content for each job
- Tone and style customization
- Skills emphasis and project highlights
- Company research integration
CV/Resume
- Professional summary generation
- Experience optimization
- Skills highlighting
- Layout and formatting options
Cover Letter Settings
{
"documentTypes": ["cv", "letter"],
"motivationConfig": {
"tone": "Professional and Formal",
"characterCount": 800,
"paragraphCount": 3,
"emphasisProject": "E-commerce Platform Redesign",
"emphasisSkills": ["React", "TypeScript", "Node.js"],
"companyResearch": "Innovative fintech startup",
"personalTouch": "Passionate about financial technology",
"avoidGeneric": true,
"includeSalaryExpectation": "competitive",
"mentionAvailability": "immediately",
"cvIntroductionCharCount": 600,
"cvIntroductionPhraseCount": 4,
"cvPreventLayoutOverflow": true
}
}Tone and Style Options
Formal
Professional corporate language, suitable for traditional companies
Professional
Balanced professional tone, works for most companies
Casual
Relaxed tone, suitable for startups and modern companies
Running Generation
Launch document generation with configured parameters:
Generation Process
- 1 Job Search: System searches for matching job offers across configured platforms
- 2 AI Analysis: AI analyzes job requirements and matches with your profile
- 3 Content Generation: Personalized documents are created for each position
- 4 Quality Review: Generated content is reviewed and optimized
- 5 Results Available: Documents are ready for review and export
// Launch generation with configured parameters
const generationRun = await jobyapp.generation.create({
inputConfig: {
keywords: "Full Stack Developer",
location: "Paris",
sites: ["linkedin", "indeed"],
maxResults: 15
},
generationConfig: {
documentTypes: ["cv", "letter"],
motivationConfig: {
tone: "Professional and Formal",
characterCount: 800,
emphasisSkills: ["React", "Node.js", "TypeScript"]
}
}
});
console.log(`Generation started: ${generationRun.id}`);Runs Management
Track and manage your generation runs in the Runs tab:
Run Status Tracking
Pending
Run is queued and waiting to start processing
Running
Currently processing job offers and generating documents
Completed
Generation finished successfully, documents ready
Failed
Error occurred during processing, check details
Run Details
Available Information
Run Metadata
- Run ID: Unique identifier
- Created At: When the run was started
- Completed At: When processing finished
- Duration: Processing time
- Status: Current run state
Results Summary
- Jobs Found: Number of matching positions
- Documents Generated: Total documents created
- Cover Letters: Letter documents count
- CVs: Resume documents count
- Success Rate: Percentage of successful generations
// Check run status
const run = await jobyapp.generation.getRun(runId);
switch(run.status) {
case 'pending':
console.log('Run is queued...');
break;
case 'running':
console.log(`Processing: ${run.progress}%`);
break;
case 'completed':
console.log('Generation completed successfully!');
console.log(`Generated ${run.results.documentCount} documents`);
break;
case 'failed':
console.error('Generation failed:', run.error);
break;
}
// List all runs
const runs = await jobyapp.generation.listRuns({
status: 'completed',
limit: 10
});Export Options
Export generated documents in various formats:
Supported Formats
Document Formats
- PDF: Professional format for applications
- DOCX: Editable Microsoft Word format
Export Options
- Individual Files: Download one document at a time
- Bulk Export: Download all documents as ZIP
// Export individual document
const document = await jobyapp.generation.exportDocument(
runId,
documentId,
'pdf'
);
// Download document
const blob = await document.blob();
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'cover-letter.pdf';
a.click();
// Bulk export all documents
const zipFile = await jobyapp.generation.exportRun(
runId,
'zip', // Format: pdf, docx, zip
{
includeCoverLetters: true,
includeCVs: true,
organizeByCompany: true
}
);
// Email documents
await jobyapp.generation.emailDocuments(runId, {
to: 'recruiter@company.com',
subject: 'Application for Senior React Developer',
message: 'Please find my application materials attached.',
includeCoverLetter: true,
includeCV: true
});Best Practices
Optimization Tips
Configuration
- • Use specific keywords for better matching
- • Limit max results to 20-30 for quality
- • Customize tone for each company type
- • Include relevant skills in emphasis list
Generation Management
- • Monitor run progress regularly
- • Review generated content before export
- • Save successful configurations
- • Keep track of application deadlines
Troubleshooting
Why did my generation run fail?
Common causes and solutions:
- Invalid search parameters: Check keywords and location format
- Site connectivity issues: Some job sites may be temporarily unavailable
- API rate limits: Wait a few minutes before retrying
- Template errors: Verify template syntax and required fields
Why are documents not personalized enough?
Improve personalization with these settings:
- Enable "avoid generic content" option
- Add specific projects and achievements
- Include company research and personal touch
- Customize skills emphasis for each position
How can I improve generation speed?
Optimize performance with these tips:
- Reduce max results to 10-15 for faster processing
- Limit to essential job sites only
- Use specific keywords to reduce irrelevant results
- Run generations during off-peak hours