Skip to main content

Overview

Vega AI automatically generates professional, job-specific CVs and cover letters based on your profile and the target job posting. Each document is tailored to highlight relevant experience, skills, and qualifications that match the position requirements.
Document generation uses AI to create customized content that emphasizes your most relevant qualifications for each specific job application.

Features

Tailored CVs

AI-generated CVs that emphasize relevant experience and skills for the target position.

Custom Cover Letters

Personalized cover letters that address the specific job requirements and company.

PDF Export

Download documents as professional PDF files ready for submission.

Multiple Formats

Documents available in HTML, Markdown, and plain text formats.

CV Generation

How It Works

1

Profile Analysis

The AI analyzes your complete profile including work experience, education, skills, and certifications.
2

Job Requirements

The system extracts key requirements, skills, and qualifications from the job description.
3

Content Optimization

Your profile information is restructured and optimized to highlight the most relevant qualifications for the job.
4

Document Generation

A professionally formatted CV is generated with emphasis on matching qualifications.

Generated CV Structure

AI-generated CVs include:
type GeneratedCV struct {
    PersonalInfo   PersonalInfo     `json:"personalInfo"`
    WorkExperience []WorkExperience `json:"workExperience"`
    Education      []Education      `json:"education"`
    Certifications []Certification  `json:"certifications"`
    Skills         []string         `json:"skills"`
    GeneratedAt    int64           `json:"generatedAt"`
    JobID          int             `json:"jobId"`
    JobTitle       string          `json:"jobTitle"`
}

Personal Information

Your CV header includes:
type PersonalInfo struct {
    FirstName string `json:"firstName"`
    LastName  string `json:"lastName"`
    Email     string `json:"email"`
    Phone     string `json:"phone"`
    Location  string `json:"location"`
    LinkedIn  string `json:"linkedin"`
    Title     string `json:"title"`
    Summary   string `json:"summary"`
}

Work Experience

Each work entry includes:
  • Company name and location
  • Job title and dates (start/end or “Present”)
  • Description highlighting relevant achievements
  • Emphasis on skills and experience matching the target job
type WorkExperience struct {
    Company     string `json:"company"`
    Title       string `json:"title"`
    Location    string `json:"location"`
    StartDate   string `json:"startDate"`     // "YYYY-MM" or "YYYY"
    EndDate     string `json:"endDate"`       // "YYYY-MM", "YYYY", or "Present"
    Description string `json:"description"`
}

Education

Education entries include:
  • Institution name
  • Degree and field of study
  • Dates attended
  • Relevant coursework or achievements
type Education struct {
    Institution  string `json:"institution"`
    Degree       string `json:"degree"`
    FieldOfStudy string `json:"fieldOfStudy"`
    StartDate    string `json:"startDate"`
    EndDate      string `json:"endDate"`
}

Skills Section

The skills section is intelligently organized:
  • Prioritized skills that match job requirements appear first
  • Skills are grouped by category (technical, soft skills, tools, etc.)
  • Relevant keywords from the job description are emphasized

Certifications

Professional certifications include:
type Certification struct {
    Name          string `json:"name"`
    IssuingOrg    string `json:"issuingOrg"`
    IssueDate     string `json:"issueDate"`
    ExpiryDate    string `json:"expiryDate"`
    CredentialID  string `json:"credentialId"`
    CredentialURL string `json:"credentialUrl"`
}

Cover Letter Generation

How It Works

1

Context Gathering

The AI gathers context about you (profile), the company, and the position.
2

Match Analysis

If available, previous match analysis results inform the letter’s focus.
3

Letter Composition

A professional cover letter is composed with appropriate tone and structure.
4

Format Selection

The letter is formatted in your chosen format (HTML, Markdown, or plain text).

Cover Letter Structure

Generated cover letters follow professional standards:
type CoverLetter struct {
    Format  CoverLetterFormat `json:"format"`   // "html", "markdown", or "plain_text"
    Content string            `json:"content"`
}

Letter Components

  • Professional greeting
  • Position you’re applying for
  • How you learned about the opportunity
  • Brief introduction of your background

Cover Letter Formats

Plain Text

Clean, ATS-friendly format for online applications.

HTML

Formatted version for email or web-based submissions.

Markdown

Versatile format that can be easily converted to other formats.

Generating Documents

CV Generation Steps

1

Navigate to Job Details

Open the job you want to generate a CV for.
2

Click Generate CV

Click the “Generate CV” button in the AI tools section.
3

Wait for Generation

The AI processes your profile and job description (15-30 seconds).
4

Review CV

Review the generated CV content on screen.
5

Download PDF

Click “Download as PDF” to save the CV to your device.

Cover Letter Generation Steps

1

Navigate to Job Details

Open the job you want to generate a cover letter for.
2

Click Generate Cover Letter

Click the “Generate Cover Letter” button.
3

Wait for Generation

The AI composes your cover letter (15-30 seconds).
4

Review Content

Read through the generated letter and verify accuracy.
5

Download or Copy

Download as PDF or copy the text for use in applications.
Document generation requires a complete profile. Ensure you have work experience or education entries, skills, and a career summary before generating documents.

PDF Export

Vega AI generates professional PDF documents:

PDF Features

Professional Formatting

Clean, professional layout optimized for readability.

ATS-Friendly

Compatible with Applicant Tracking Systems used by employers.

Custom Naming

Files automatically named: FirstName_LastName_CV_CompanyName.pdf

Print-Ready

Properly formatted for printing on standard letter/A4 paper.

PDF Generation Process

The system uses client-side PDF generation:
// PDF is generated in the browser using jsPDF and html2canvas
// This ensures no sensitive data is sent to external services
const generatePDF = async (documentId, fileName) => {
    const element = document.getElementById(documentId);
    const canvas = await html2canvas(element);
    const pdf = new jsPDF('p', 'mm', 'a4');
    pdf.addImage(canvas, 'PNG', 0, 0, 210, 297);
    pdf.save(fileName);
};

CV Parsing

Vega AI can also parse existing CVs to populate your profile:

Upload and Parse

1

Navigate to Profile

Go to your profile settings page.
2

Upload CV

Click “Upload CV” and select your resume file.
3

AI Extraction

The AI extracts structured information from your CV.
4

Review and Confirm

Review extracted data and confirm or edit as needed.
5

Save to Profile

Click “Save” to populate your profile with the extracted information.

Parsing Validation

type CVParsingResult struct {
    IsValid        bool             `json:"isValid"`
    Reason         string           `json:"reason"`
    PersonalInfo   PersonalInfo     `json:"personalInfo"`
    WorkExperience []WorkExperience `json:"workExperience"`
    Education      []Education      `json:"education"`
    Certifications []Certification  `json:"certifications"`
    Skills         []string         `json:"skills"`
}
The system validates parsed CVs:
func (c *CVGeneratorService) validateGeneratedCV(cv *CVParsingResult) error {
    if !cv.IsValid {
        return fmt.Errorf("generated CV is not valid: %s", cv.Reason)
    }
    
    if cv.PersonalInfo.FirstName == "" || cv.PersonalInfo.LastName == "" {
        return fmt.Errorf("missing required personal information")
    }
    
    if len(cv.WorkExperience) == 0 && len(cv.Education) == 0 {
        return fmt.Errorf("must have at least work experience or education")
    }
    
    return nil
}

AI Processing Details

Generation Timeout

Both CV and cover letter generation have 30-second timeouts:
// Add timeout to prevent indefinite waiting
aiCtx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()

response, err := c.model.Generate(aiCtx, llm.GenerateRequest{
    Prompt:       *prompt,
    ResponseType: llm.ResponseTypeCV,
})

Temperature Settings

Document generation uses lower temperature for consistency:
// Use basic prompting for CV generation to reduce processing time
// Enhanced templates are too complex for the large JSON output required
prompt := models.NewPrompt(
    "You are a professional career advisor and expert CV writer.",
    req,
    false, // Use basic template for faster processing
)

optimalTemp := prompt.GetOptimalTemperature(string(models.TaskTypeCVGeneration))
prompt.SetTemperature(optimalTemp)

Best Practices

Ensure your profile is comprehensive with detailed work experience, education, skills, and certifications before generating documents.
Always review generated documents before submission. Add personal touches and verify accuracy.
Generate a new CV and cover letter for each application. Generic documents are less effective.
Regularly update your skills list to ensure generated documents reflect your current capabilities.
Verify that company names and job titles are spelled correctly in your applications.
While AI-generated content is high quality, always proofread for context and accuracy.

Document Quality Tips

For Better CVs

Use Action Verbs

Ensure your profile descriptions use strong action verbs that the AI will incorporate.

Quantify Achievements

Include numbers and metrics in your profile to create more impactful CVs.

Focus on Relevance

The AI prioritizes relevant experience, so keep your profile focused and current.

Complete Entries

Fill in all fields for work experience and education for comprehensive CVs.

For Better Cover Letters

Strong Career Summary

Your career summary heavily influences cover letter quality.

Company Research

Add notes about the company to help the AI write more targeted letters.

Highlight Achievements

Include notable achievements in your profile for the AI to reference.

Cultural Fit

Mention values and work style in your profile for better alignment.

Error Handling

ErrorCauseSolution
Profile IncompleteMissing required fieldsComplete work experience, education, and skills
Validation FailedGenerated document missing required infoUpdate profile and regenerate
AI Service UnavailableTemporary service issueTry again in a few moments
TimeoutGeneration took too longRetry; contact support if persists
Empty ContentAI failed to generate contentCheck profile completeness and retry

Next Steps

Profile Management

Build a comprehensive profile for high-quality document generation.

Job Tracking

Track which documents you’ve generated for each application.

Build docs developers (and LLMs) love