ATS Analysis Report
Resume Intelligence Suite
Complete vertical analysis with confidence scoring
{{ round($score) }}
Overall
File Name
{{ $fileInfo['filename'] ?? 'N/A' }}
Analysis Date
{{ $analyzedAt ?? date('Y-m-d H:i:s') }}
Word Count
{{ $fileInfo['word_count'] ?? 'N/A' }} words
Line Count
{{ $fileInfo['line_count'] ?? 'N/A' }} lines
@php
$stats = [
['icon' => 'fa-briefcase', 'label' => 'Experience', 'value' => ($experienceData['total_jobs'] ?? 0) . ' jobs'],
['icon' => 'fa-graduation-cap', 'label' => 'Education', 'value' => ($educationData['total'] ?? 0) . ' degrees'],
['icon' => 'fa-code', 'label' => 'Skills', 'value' => ($skillsData['total'] ?? 0) . ' skills'],
['icon' => 'fa-folder-open', 'label' => 'Projects', 'value' => ($projectsData['total'] ?? 0) . ' projects'],
['icon' => 'fa-trophy', 'label' => 'Achievements', 'value' => ($achievementsData['total'] ?? 0) . ' items'],
['icon' => 'fa-chart-line', 'label' => 'Metrics', 'value' => ($metricsData['total_numbers'] ?? 0) . ' numbers'],
];
@endphp
@foreach($stats as $stat)
{{ $stat['value'] }}
{{ $stat['label'] }}
@endforeach
@if(isset($jobs) && !empty($jobs))
{{-- Jobs Found - Display Them --}}
@foreach($jobs as $job)
{{ $job['title'] ?? 'N/A' }}
@if(isset($job['relevance_score']))
⭐ Match: {{ round($job['relevance_score'] * 100) }}%
@endif
@if($job['is_individual_job'] ?? true)
Individual Job
@endif
{{ $job['company'] ?? 'Confidential' }}
{{ $job['location'] ?? 'Remote' }}
@if(isset($job['salary']) && $job['salary'] != 'Not specified')
{{ $job['salary'] }}
@endif
{{ $job['date'] ?? 'Recent' }}
{{ $job['source_api'] ?? 'Job Board' }}
@if(isset($job['description']) && !empty($job['description']))
{{ Str::limit($job['description'], 200) }}
@endif
@endforeach
@elseif(isset($jobSearchError) && $jobSearchError)
{{-- Job Search Failed - Show Loading with Auto-Retry for 5 Minutes --}}
Searching for Jobs...
Scraping jobs from multiple platforms (RapidAPI, Google Jobs, Remote APIs)
This may take up to 5 minutes as we fetch real-time job listings
Attempt 1 of 30 (0% complete)
Estimated time remaining: ~5 minutes
You can browse your resume analysis while jobs load in background
{{-- Hidden div for job results --}}
@elseif(isset($jobSearchStatus) && $jobSearchStatus == 'no_results')
No jobs found
No matching jobs found for "{{ $searchParams['keyword'] ?? 'your profile' }}" in "{{ $searchParams['location'] ?? 'India' }}".
@else
{{-- Initial Loading State --}}
Searching for Jobs...
Scraping jobs from multiple platforms (RapidAPI, Google Jobs, Remote APIs)
This may take up to 5 minutes as we fetch real-time job listings
Attempt 1 of 30 (0% complete)
Estimated time remaining: ~5 minutes
You can browse your resume analysis while jobs load in background
@endif
@php $personal = $personalInfo ?? []; @endphp
Full Name:
{{ $personal['full_name'] ?? 'Not found' }}
Email:
{{ $personal['email'] ?? 'Not found' }}
Phone:
{{ $personal['phone'] ?? 'Not found' }}
Location:
{{ $personal['location'] ?? 'Not found' }}
@php $summary = $summaryData ?? []; @endphp
@if(!empty($summary['text']))
{{ $summary['text'] }}
@if(($summary['word_count'] ?? 0) < 50)
Your summary is {{ $summary['word_count'] ?? 0 }} words (target: 50-100 words)
@endif
@else
No professional summary found in your resume.
@endif
@php $education = $educationData ?? []; $eduEntries = $education['entries'] ?? []; @endphp
@forelse($eduEntries as $entry)
Degree: {{ $entry['degree'] ?? 'Not specified' }}
Institution: {{ $entry['institution'] ?? 'Not specified' }}
CGPA/Percentage: {{ $entry['cgpa'] ?? $entry['percentage'] ?? 'Not specified' }}
Years: {{ $entry['start_year'] ?? '' }} - {{ $entry['end_year'] ?? '' }}
@empty
No education entries found.
@endforelse
@php
$experience = $experienceData ?? [];
$expEntries = $experience['entries'] ?? [];
@endphp
@forelse($expEntries as $index => $job)
{{ $job['title'] ?? 'Position not specified' }}
{{ $job['company'] ?? 'Company not specified' }}
@if(!empty($job['location']))
{{ $job['location'] }}
@endif
{{ $job['start_date'] ?? '' }} - {{ $job['end_date'] ?? '' }}
@if(!empty($job['is_current']))
Current
@endif
@if(!empty($job['achievements']))
Achievements:
@foreach(array_slice($job['achievements'], 0, 4) as $ach)
- {{ $ach }}
@endforeach
@if(count($job['achievements']) > 4)
- +{{ count($job['achievements']) - 4 }} more achievements
@endif
@endif
@empty
No work experience entries found.
@endforelse
@if(($experience['total_years_experience'] ?? 0) > 0)
Total Experience: {{ $experience['total_years_experience'] }} years
@endif
@php
$skills = $skillsData ?? [];
$skillCategories = session('skill_categories', []);
$categorizedSkills = $skillCategories['categorized_skills'] ?? [];
@endphp
@if(!empty($categorizedSkills))
@foreach($categorizedSkills as $category => $categorySkills)
{{ $category }}
@foreach($categorySkills as $skill)
{{ ucfirst($skill) }}
@endforeach
@endforeach
@else
@foreach($skills['all_skills'] ?? [] as $skill)
{{ $skill }}
@endforeach
@endif
@if(($skills['total'] ?? 0) < 15)
You have {{ $skills['total'] ?? 0 }} skills. Target: 20+ skills for better ATS matching.
@endif
@php
$projects = $projectsData ?? [];
$projEntries = $projects['entries'] ?? [];
@endphp
@forelse($projEntries as $project)
{{ $project['name'] ?? 'Project' }}
@if(!empty($project['description']))
{{ $project['description'] }}
@endif
@if(!empty($project['technologies']))
@foreach(array_slice($project['technologies'], 0, 6) as $tech)
{{ $tech }}
@endforeach
@endif
@if(!empty($project['achievements']))
@foreach(array_slice($project['achievements'], 0, 2) as $ach)
- {{ $ach }}
@endforeach
@endif
@empty
No projects found.
@endforelse
@php $achievements = $achievementsData ?? []; @endphp
@if(!empty($achievements['list']))
@foreach($achievements['list'] as $ach)
- {{ $ach }}
@endforeach
@else
No achievements detected in your resume.
@endif
@php $social = $socialLinks ?? []; @endphp
LinkedIn:
{{ !empty($social['linkedin']) ? '✓ Found' : '✗ Not Found' }}
GitHub:
{{ !empty($social['github']) ? '✓ Found' : '✗ Not Found' }}
Portfolio:
{{ !empty($social['portfolio']) ? '✓ Found' : '✗ Not Found' }}
@php $atsKeywords = session('ats_keywords', []); @endphp
@if(!empty($atsKeywords))
@foreach($atsKeywords as $keyword)
{{ $keyword }}
@endforeach
These keywords help your resume pass ATS filters. Ensure they match your target job description.
@endif
@php $ats = $atsData ?? []; @endphp
@foreach(($ats['checks'] ?? []) as $key => $value)
{{ ucfirst(str_replace('_', ' ', $key)) }}:
{{ $value ? '✓' : '✗' }}
@endforeach
@php $metrics = $metricsData ?? []; @endphp
@if(!empty($metrics['percentages']))
@foreach(array_slice($metrics['percentages'], 0, 15) as $pct)
{{ $pct }}
@endforeach
Total numbers found: {{ $metrics['total_numbers'] ?? 0 }}
@else
No quantitative metrics (percentages, numbers) detected.
@endif
@if(!empty($recommendations))
@foreach($recommendations as $rec)
{{ $rec['priority'] ?? 'MEDIUM' }} Priority
Impact: {{ $rec['expected_impact'] ?? 'N/A' }}
{{ $rec['suggestion'] ?? 'Improve this section' }}
Current: {{ $rec['current_score'] ?? 0 }}%
Target: {{ $rec['target_score'] ?? 80 }}%
@if(!empty($rec['missing_items']))
Missing: {{ implode(', ', $rec['missing_items']) }}
@endif
@endforeach
@endif
@if(!empty($improvementPlan))
Current Score
{{ $improvementPlan['current_score'] ?? $score }}%
Target Score
{{ $improvementPlan['target_score'] ?? 85 }}%
Gap to Target
{{ $improvementPlan['gap_to_target'] ?? (85 - $score) }} points
Estimated Hours
{{ $improvementPlan['estimated_hours'] ?? 'N/A' }} hours
Timeline
{{ $improvementPlan['timeline'] ?? 'N/A' }}
Expected Improvement
{{ $improvementPlan['expected_improvement'] ?? 'N/A' }}
@if(!empty($improvementPlan['quick_wins']))
Quick Wins (30 min each):
@foreach($improvementPlan['quick_wins'] as $win)
-
{{ $win }}
@endforeach
@endif
@endif