feat: real headshot + JobTrack seed-data screenshots

- portrait: warm outdoor headshot, cropped 4:5 and optimised to WebP (800x1000, 116kB),
  used in hero + about
- JobTrack case study: three real seed-data captures (applications, dashboard, reminders)
  optimised to WebP (~40kB each) replacing the placeholder skeletons
- alts/captions updated to match the real screens

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
cesnimda
2026-07-04 11:22:48 +02:00
parent 18c556bd54
commit b4b293bdb4
6 changed files with 19 additions and 19 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

+1 -1
View File
@@ -19,7 +19,7 @@ export const profile: Profile = {
no: { path: '/cv/connor-babbington-cv-no.pdf', sizeKb: 8, updated: '2026-07' }, no: { path: '/cv/connor-babbington-cv-no.pdf', sizeKb: 8, updated: '2026-07' },
}, },
photo: { photo: {
src: 'placeholder:portrait', src: '/assets/portrait.webp',
alt: { alt: {
en: 'Connor Babbington, smiling, outdoors', en: 'Connor Babbington, smiling, outdoors',
no: 'Connor Babbington, smilende, utendørs', no: 'Connor Babbington, smilende, utendørs',
+18 -18
View File
@@ -85,42 +85,42 @@ export const jobtrack: Project = {
}, },
media: [ media: [
{ {
src: 'placeholder:jobtrack-table', src: '/assets/projects/jobtrack/applications.webp',
width: 1600, width: 1600,
height: 1000, height: 768,
alt: { alt: {
en: 'JobTrack applications table with status filters and search', en: 'JobTrack applications table showing companies, roles, statuses and follow-up flags',
no: 'JobTrack-søknadstabell med statusfiltre og søk', no: 'JobTrack-søknadstabell med selskaper, roller, statuser og oppfølgingsmarkører',
}, },
caption: { caption: {
en: 'Applications table — pipeline at a glance', en: 'Applications table — the whole pipeline at a glance, with per-row next actions',
no: 'Søknadstabell — hele pipelinen samlet', no: 'Søknadstabell — hele pipelinen samlet, med neste handling per rad',
}, },
}, },
{ {
src: 'placeholder:jobtrack-details', src: '/assets/projects/jobtrack/dashboard.webp',
width: 1600, width: 1600,
height: 1000, height: 759,
alt: { alt: {
en: 'Job details dialog combining summary, notes, correspondence and attachments', en: 'JobTrack dashboard with application trends, response rates and skill tags',
no: 'Jobbdetaljer med sammendrag, notater, korrespondanse og vedlegg', no: 'JobTrack-dashbord med søknadstrender, svarrater og ferdighetstagger',
}, },
caption: { caption: {
en: 'Job details — everything about one application in one place', en: 'Dashboard — trends, response rates and pipeline health',
no: 'Jobbdetaljer — alt om én søknad på ett sted', no: 'Dashbord — trender, svarrater og pipeline-helse',
}, },
}, },
{ {
src: 'placeholder:jobtrack-gmail', src: '/assets/projects/jobtrack/reminders.webp',
width: 1600, width: 1600,
height: 1000, height: 758,
alt: { alt: {
en: 'Gmail import view with smart query filters and thread import', en: 'JobTrack reminders view surfacing applications that need follow-up',
no: 'Gmail-import med smarte søkefiltre og trådimport', no: 'JobTrack-påminnelser som løfter fram søknader som trenger oppfølging',
}, },
caption: { caption: {
en: 'Gmail import — pull correspondence straight onto the application', en: 'Reminders — applications that need attention, driven by follow-up rules',
no: 'Gmail-import — hent korrespondanse rett inn på søknaden', no: 'Påminnelser — søknader som trenger oppfølging, styrt av regler',
}, },
}, },
], ],