Release · v3.14.19
Add resized WebP copies of the five site images
perf(assets): add resized WebP copies of the five site images
Details
The profile photo shipped as a 2544x2544 PNG, 6.73 MB, on every page load of /, /v1/ and /v2/ while being displayed in a box that never exceeds 445 px. That one file was 98% of the site's Supabase egress and blew the free-tier quota in roughly 820 page views. Re-encoded at 900 px for the portrait and 600 px on the long edge for the three stills the v1 rotator cycles through: profile 6886.5 KB -> 52.2 KB (132x) cikm 485.1 KB -> 54.4 KB thesis 168.1 KB -> 34.0 KB final-project 134.7 KB -> 23.8 KB favicon 14.2 KB -> 14.2 KB (copied byte for byte) total 7688.6 KB -> 178.7 KB (43x) The source PNG carries a fully opaque alpha channel, so nothing is lost by encoding to WebP without transparency. On sampling: 900 px is 2x the widest box measured at any viewport (v2, 445 px), but v2 crops a square source to `aspect-ratio: 4 / 5` with `object-fit: cover`, so its 557 px height is what binds — 1.62x there, not 2x. The rotator stills are governed by their short edge inside a 240 px circle: 1.72x, 1.88x and 1.39x. All were read at 2x and none shows artifacting, but the honest number for the tightest case is 1.39x, not 2x. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DAJJ63FFnLoD5XLpu6yJaG
Files changed (5)
| frontend/jekyll/assets/img/cikm.webp | — | — |
| frontend/jekyll/assets/img/favicon.ico | — | — |
| frontend/jekyll/assets/img/final-project.webp | — | — |
| frontend/jekyll/assets/img/profile.webp | — | — |
| frontend/jekyll/assets/img/thesis.webp | — | — |