{ if (item.url.includes('linkedin')) { acc.linkedin += 1; } else if (item.url.includes('glassdoor')) { acc.glassdoor += 1; } else { acc.other += 1; } return acc; }, { linkedin: 0, glassdoor: 0, other: 0 } )} /> { if (item === 'Created') { const count = applicationStore.all.filter( (a) => a.status_id === null ).length; if (count === 0) return acc; acc[item] = count; return acc; } const count = applicationStore.all.filter( (a) => item.id === a.status_id ).length; if (count === 0) return acc; acc[item.name] = count; return acc; }, {} as Record )} /> a.payrange.match(/\d/)) .map((a) => { const payrange = a.payrange .replace(/[kK]/g, '000') .replace(/[^\d\-–]/g, '') .replace(/–/g, '-') .split('-'); return Number(payrange[payrange.length - 1]); }) .reduce( (acc, a) => { const f = Math.floor(a / 10000); let name = `${f * 10}K-${(f + 1) * 10}K`; if (f == 0) { name = '<10K'; } if (acc[name]) { acc[name] += 1; } else { acc[name] = 1; } return acc; }, {} as Record )} /> a.payrange.match(/\d/)) .map((a) => { const payrange = a.payrange .replace(/[kK]/g, '000') // The first is a - the other is unicode 8211 .replace(/[^\d\-–]/g, '') .replace(/–/g, '-') .split('-'); return Number(payrange[0]) + Number(payrange[1] ?? payrange[0]); }) .reduce( (acc, a) => { const f = Math.floor(a / 10000); let name = `${f * 10}K-${(f + 1) * 10}K`; if (f == 0) { name = '<10K'; } if (acc[name]) { acc[name] += 1; } else { acc[name] = 1; } return acc; }, {} as Record )} /> { if (acc[item.company]) { acc[item.company] += 1; } else { acc[item.company] = 1; } return acc; }, {} as Record )} /> { const l = item.location === '' ? 'Unknown' : item.location; if (acc[l]) { acc[l] += 1; } else { acc[l] = 1; } return acc; }, {} as Record )} /> { const l = item.inperson_type === '' ? 'Unknown' : item.inperson_type; if (acc[l]) { acc[l] += 1; } else { acc[l] = 1; } return acc; }, {} as Record )} /> { const job_level = a.job_level ? a.job_level : 'Unknown'; if (acc[job_level]) { acc[job_level] += 1; } else { acc[job_level] = 1; } return acc; }, {} as Record )} sensitivity={0.02} /> { const i = a.agency ? 'Agency' : 'Direct'; if (acc[i]) { acc[i] += 1; } else { acc[i] = 1; } return acc; }, {} as Record )} sensitivity={0.02} />
{#if flairStats !== 'loading'}
    {#each Object.keys(flairStats).toSorted((a, b) => flairStats[b] - flairStats[a]) as flair}
  • {flair}: {flairStats[flair]}
  • {/each}
{/if}

Status Graph

Payrange

Per Seniority

{#each seniorities as level} {@const fapps = applicationStore.all.filter( (a) => a.payrange.match(/\d/) && a.job_level === level )}

{level} (AVG pay: {( fapps .map((a) => { const payrange = a.payrange .replace(/[kK]/g, '000') .replace(/[^\d\-–]/g, '') .replace(/–/g, '-') .split('-'); return ( Number(payrange[0]) + Number(payrange[1] ?? payrange[0]) ); }) .reduce((acc, a) => acc + a, 0) / (fapps.length * 2) ).toLocaleString('en-GB', { notation: 'compact', style: 'currency', currency: 'GBP' })})

{ const payrange = a.payrange .replace(/[kK]/g, '000') .replace(/[^\d\-–]/g, '') .replace(/–/g, '-') .split('-'); return Number(payrange[payrange.length - 1]); }) .reduce( (acc, a) => { const f = Math.floor(a / 10000); let name = `${f * 10}K-${(f + 1) * 10}K`; if (f == 0) { name = '<10K'; } if (acc[name]) { acc[name] += 1; } else { acc[name] = 1; } return acc; }, {} as Record )} /> { const payrange = a.payrange .replace(/[kK]/g, '000') // The first is a - the other is unicode 8211 .replace(/[^\d\-–]/g, '') .replace(/–/g, '-') .split('-'); return Number(payrange[0]); }) .reduce( (acc, a) => { const f = Math.floor(a / 10000); let name = `${f * 10}K-${(f + 1) * 10}K`; if (f == 0) { name = '<10K'; } if (acc[name]) { acc[name] += 1; } else { acc[name] = 1; } return acc; }, {} as Record )} /> { const payrange = a.payrange .replace(/[kK]/g, '000') // The first is a - the other is unicode 8211 .replace(/[^\d\-–]/g, '') .replace(/–/g, '-') .split('-'); return ( (Number(payrange[0]) + Number(payrange[1] ?? payrange[0])) / 2 ); }) .reduce( (acc, a) => { const f = Math.floor(a / 10000); let name = `${f * 10}K-${(f + 1) * 10}K`; if (f == 0) { name = '<10K'; } if (acc[name]) { acc[name] += 1; } else { acc[name] = 1; } return acc; }, {} as Record )} />
{/each}