Re-encode and downscale oversized media assets to shrink the served site (and Docker image) with no visible quality loss.
Changes
Videos (webm) — VP9 re-encode at CRF 38
All meme clips were over-encoded (some at ~4000k bitrate for tiny 480p loops). Re-encoded to VP9 CRF 38, audio stripped (they're muted autoplay loops). Resolutions preserved; every file verified playable.
background.webp: 3394×1940 → 1920 wide, q80 — 784K → 442K (−43%). Used blurred on the homepage, so no visible change.
profile.webp: 1920×1920 → 512×512, q85 — 256K → 76K (−71%). This is an animated webp; the 5-frame animation, 10fps timing, and infinite loop are preserved.
Content screenshots: already optimally compressed, left unchanged.
Impact
Size
Served site content
~6.1 MB → 4.0 MB
Docker image
23.1 MB → 18.7 MB (~42% smaller than the original nginx image)
Verification
Every re-encoded webm fully decoded without errors; resolutions unchanged.
profile.webp confirmed still animated (5 frames, same timing/loop).
Full docker build succeeds; measured the 18.7 MB result.
## Summary
Re-encode and downscale oversized media assets to shrink the served site (and Docker image) with no visible quality loss.
## Changes
### Videos (webm) — VP9 re-encode at CRF 38
All meme clips were over-encoded (some at ~4000k bitrate for tiny 480p loops). Re-encoded to VP9 CRF 38, audio stripped (they're muted autoplay loops). Resolutions preserved; every file verified playable.
**3.2 MB → 1.37 MB (−56%)** — biggest wins: `wasnt-so-bad` −67%, `you-shall-not-pass` −59%, `mha-power` −47%.
### Images (webp) — downscale + re-encode
- `background.webp`: 3394×1940 → 1920 wide, q80 — **784K → 442K (−43%)**. Used blurred on the homepage, so no visible change.
- `profile.webp`: 1920×1920 → 512×512, q85 — **256K → 76K (−71%)**. This is an **animated webp**; the 5-frame animation, 10fps timing, and infinite loop are preserved.
- Content screenshots: already optimally compressed, left unchanged.
## Impact
| | Size |
|---|---|
| Served site content | ~6.1 MB → **4.0 MB** |
| Docker image | 23.1 MB → **18.7 MB** (~42% smaller than the original nginx image) |
## Verification
- Every re-encoded webm fully decoded without errors; resolutions unchanged.
- `profile.webp` confirmed still animated (5 frames, same timing/loop).
- Full `docker build` succeeds; measured the 18.7 MB result.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Re-encode and downscale oversized media assets to shrink the served site (and Docker image) with no visible quality loss.
Changes
Videos (webm) — VP9 re-encode at CRF 38
All meme clips were over-encoded (some at ~4000k bitrate for tiny 480p loops). Re-encoded to VP9 CRF 38, audio stripped (they're muted autoplay loops). Resolutions preserved; every file verified playable.
3.2 MB → 1.37 MB (−56%) — biggest wins:
wasnt-so-bad−67%,you-shall-not-pass−59%,mha-power−47%.Images (webp) — downscale + re-encode
background.webp: 3394×1940 → 1920 wide, q80 — 784K → 442K (−43%). Used blurred on the homepage, so no visible change.profile.webp: 1920×1920 → 512×512, q85 — 256K → 76K (−71%). This is an animated webp; the 5-frame animation, 10fps timing, and infinite loop are preserved.Impact
Verification
profile.webpconfirmed still animated (5 frames, same timing/loop).docker buildsucceeds; measured the 18.7 MB result.