@php use App\Models\Application; $categoryOptions = $categoryOptions ?: ['tech', 'design', 'marketing', 'sales', 'writing', 'support', 'product', 'operations', 'virtual-assistant', 'finance', 'hr', 'data', 'ai', 'general']; $employmentOptions = $employmentOptions ?: ['full_time', 'contract', 'part_time', 'freelance']; $experienceOptions = $experienceOptions ?: ['entry', 'junior', 'mid', 'senior', 'lead', 'manager', 'executive']; $locationOptions = $locationOptions ?: ['remote', 'hybrid', 'anywhere']; $statusOptions = [ Application::STATUS_APPLIED => 'Applied', Application::STATUS_INTERVIEW => 'Interview', Application::STATUS_REJECTED => 'Rejected', Application::STATUS_OFFER => 'Offer', Application::STATUS_FOLLOW_UP_NEEDED => 'Follow-up Needed', ]; $formatLabel = static fn (?string $value): string => $value ? str($value)->replace(['-', '_'], ' ')->headline()->toString() : 'Not specified'; $formatSalary = static fn ($job): ?string => $job->salaryLabel(); $visibleJobsLabel = $jobs->total() > 0 ? 'Showing '.$jobs->firstItem().'-'.$jobs->lastItem().' of '.$jobs->total() : '0 visible'; @endphp

Your match workspace

Browse ranked remote jobs built around your profile.

Results use your questionnaire, profile, and resume signals. Save roles, open verified apply links, and keep each application tracked from here.

{{ $visibleJobsLabel }} {{ $totalMatches }} total matched @if ($filteredMatches !== $totalMatches) {{ $filteredMatches }} after filters @endif {{ count($savedJobIds) }} saved {{ $applicationsByJobId->count() }} applied
@if (session('status'))
{{ session('status') }}
@endif @if ($errors->any())

Please fix the highlighted filter or tracker details.

@endif @if ($jobs->isEmpty())

No matching jobs for these filters.

Try clearing filters or wait for the next approved source sync. New active roles will appear here automatically.

Clear filters
@else
@foreach ($jobs as $job) @php $application = $applicationsByJobId->get($job->id); $isSaved = in_array($job->id, $savedJobIds, true); $skills = array_slice($job->skills ?? $job->tags ?? [], 0, 5); @endphp
{{ $job->match_score }}% match {{ $formatLabel($job->category) }} @if ($job->employment_type) {{ $formatLabel($job->employment_type) }} @endif @if ($job->source) {{ $job->source->name }} @endif

{{ $job->title }}

{{ $job->company }} {{ $formatLabel($job->location_type) }}{{ $job->country_code ? ' ยท '.$job->country_code : '' }} @if ($job->posted_at) {{ $job->posted_at->diffForHumans() }} @endif
@if ($job->displaySummary())

{{ $job->displaySummary(320) }}

@endif
@if ($salary = $formatSalary($job)) {{ $salary }} @endif @foreach ($skills as $skill) {{ $skill }} @endforeach

Source attribution: {{ $job->attribution() }}

View details @if ($isSaved)
@csrf @method('DELETE')
@else
@csrf
@endif
@csrf
@if ($application)

Tracker

@csrf @method('PATCH')
@endif
@endforeach
@if ($jobs->hasPages()) @php $currentPage = $jobs->currentPage(); $lastPage = $jobs->lastPage(); $startPage = max(1, $currentPage - 2); $endPage = min($lastPage, $currentPage + 2); @endphp @endif @endif