diff --git a/TODO.md b/TODO.md
index 2447b0f..4069d2a 100644
--- a/TODO.md
+++ b/TODO.md
@@ -20,7 +20,7 @@ Last updated: 2026-09-10.
## Content
-- [ ] Refine any copy that reads wrong, page by page.
+- [x] Refine any copy that reads wrong, page by page.
- [ ] Populate the galleries with more or real work items.
- [ ] Add per-image captions (they are category-level only right now).
@@ -30,8 +30,10 @@ Last updated: 2026-09-10.
find or shoot a better crop.
- [ ] Consider moving `writtenearplugs.jpg` from the Urban Moto grid into the
Print gallery.
-- [ ] Optimise images to WebP: `img/` is 20 MB of the 21 MB repo.
-- [ ] Confirm the Forgejo repo (`2RE03-Design`) is private.
+- [x] Optimise images to WebP: `img/` was 20 MB of the 21 MB repo. Done: 45 images
+ converted (long side capped at 1600px, q82, or q90 with lossless alpha), `img/`
+ is now 3.2 MB. `printtiresad.png` stayed PNG because WebP came out larger.
+- [x] Confirm the Forgejo repo (`2RE03-Design`) is private.
## Done
diff --git a/case-studies.html b/case-studies.html
index c97cfe2..00bf458 100644
--- a/case-studies.html
+++ b/case-studies.html
@@ -48,57 +48,57 @@
-
-
+
+ Teach Each Other AIWeb Design
diff --git a/memory-bank/activeContext.md b/memory-bank/activeContext.md
index aab8bac..b0ed9b8 100644
--- a/memory-bank/activeContext.md
+++ b/memory-bank/activeContext.md
@@ -104,6 +104,8 @@ Next is user review of copy/design and the deployment decision.
79 files, remote `origin` = Forgejo `2RE03-Design`.
- **2026-09-10** - Added `TODO.md` as the backlog; the site was **published** by
the user, and `memory-bank/`/`.clinerules/` were confirmed to stay tracked.
+- **2026-09-10** - Optimised all images to **WebP** (`img/` 20 MB -> 3.2 MB, 85%
+ smaller); `printtiresad.png` stays PNG. See `techContext.md`, Image Pipeline.
## Next Steps
> **The full backlog lives in `TODO.md` at the repo root.** This section keeps only
diff --git a/memory-bank/progress.md b/memory-bank/progress.md
index 83c8918..85ed52a 100644
--- a/memory-bank/progress.md
+++ b/memory-bank/progress.md
@@ -9,8 +9,9 @@
- Six linked pages built: `index`, `case-studies`, `work`, `about`, `services`,
`contact` - plus 10 case study detail pages in `case-studies/`.
- Bootstrap 5.3.3 + Inter/Space Grotesk vendored locally (`css/`, `js/`, `fonts/`).
-- 46 images in `img/` (project art, client-site screenshots, 10 case-study hero
- backgrounds, 8 homepage collage tiles).
+- 46 images in `img/`, optimised to WebP: 45 `.webp` plus `printtiresad.png`
+ (project art, client-site screenshots, 10 case-study hero backgrounds, 8 homepage
+ collage tiles). `img/` is **3.2 MB**, down from 20 MB.
- Web3Forms contact form with required-field + email validation, accessible
labels, and AJAX submit with a live status region.
- Collins-style **Case Studies** feature: a typographic index with
@@ -184,3 +185,9 @@ copy/design review and the optional polish tracked in `TODO.md`.
backlog; the memory bank keeps only current priorities and points at it. The
**site was published** by the user, and `memory-bank/` + `.clinerules/` were
confirmed to stay tracked.
+- **2026-09-10** - **Optimised every image to WebP**: 45 files converted (long side
+ capped at 1600px, `-q 82`, or `-q 90 -alpha_q 100` when transparent) and 97
+ references repointed across 13 HTML files. `img/` went **20 MB -> 3.2 MB**. The
+ one exception is `printtiresad.png`, kept as PNG because WebP made it bigger.
+ Verified: 0 missing references, 0 unreferenced files, all 45 WebP files decode,
+ all pages 200, and the before/after ratio-hint sets are byte-identical.
diff --git a/memory-bank/reference-materials.md b/memory-bank/reference-materials.md
index 5ffb9db..b9cf136 100644
--- a/memory-bank/reference-materials.md
+++ b/memory-bank/reference-materials.md
@@ -1,7 +1,10 @@
# Reference Materials - 2RE03 Portfolio Site
-> Temporary source material in `refrence/`. NOT production assets. Do not link to
-> it. Do not delete until the site is designed and approved (user confirms).
+> Historical inventory of the original `refrence/` source material. That folder was
+> **removed on 2026-09-10** and is backed up outside the repo at
+> `/home/torrey/2RE03-unused-assets-backup/refrence/`. The filenames below are the
+> ORIGINAL source names; the production copies now live in `img/` as WebP (see
+> `techContext.md`, Image Pipeline).
> Last updated: 2026-09-10.
## `refrence/index.html`
@@ -47,7 +50,8 @@ By category (from the carousel JSON; filenames self-label by prefix):
| Written | `writtenearplugs.jpg`, `writtensamsrules.png`, `writtenstructions.jpg` |
> **Note:** all 23 of these images were copied into the production `img/` folder
-> (2026-09-10) and are now referenced by the site. The `refrence/` originals
-> remain temporary source material and can be deleted after design approval.
-> The production `img/` folder also contains 6 additional `site-*.jpg`
-> screenshots of real client websites added later (not from `refrence/`).
+> (2026-09-10) and are now referenced by the site. They were then converted to WebP
+> (2026-09-10), so the `.png`/`.jpg` names above are the source names only, not the
+> current filenames. The production `img/` folder also contains 6 additional
+> `site-*.jpg` screenshots of real client websites added later (not from
+> `refrence/`); those are WebP too.
diff --git a/memory-bank/techContext.md b/memory-bank/techContext.md
index 5a3c761..c860a6e 100644
--- a/memory-bank/techContext.md
+++ b/memory-bank/techContext.md
@@ -12,8 +12,8 @@ case-studies/*.html (10 per-project case study detail pages)
css/bootstrap.min.css css/style.css
js/bootstrap.bundle.min.js js/main.js js/case-studies.js js/carousel.js
fonts/Inter-latin.woff2 fonts/SpaceGrotesk-latin.woff2
-img/ 46 images (10 case-study hero backgrounds + 8 homepage collage tiles
- + 28 project/screenshot images)
+img/ 46 files: 45 WebP plus `printtiresad.png` (10 case-study hero backgrounds,
+ 8 homepage collage tiles, 28 project/screenshot images)
```
No build step and no package manager - it is plain static HTML/CSS/JS.
@@ -53,6 +53,20 @@ No build step and no package manager - it is plain static HTML/CSS/JS.
- `.gitignore` ignores OS/editor cruft only. There is no `refrence/` entry because
that folder was removed.
+## Image Pipeline
+- Every production image is **WebP** except `img/printtiresad.png`, which stays PNG
+ because every WebP encode of it came out *larger* (the PNG is only 73 KB).
+- Encoding recipe (`cwebp`): long side capped at **1600px**, `-q 82` for opaque
+ images, `-q 90 -alpha_q 100` for anything with transparency.
+- Result: `img/` went from ~20 MB to **3.2 MB** (85% smaller) with no visible loss
+ (measured SSIM distortion 0.0003 to 0.018, where 0 is identical).
+- The original JPEG/PNG files are kept **outside** the repo at
+ `/home/torrey/2RE03-unused-assets-backup/img-webp-originals/`.
+- Most `` tags declare the **display frame**, not the file's native size: the
+ carousel cards are a 4:3 box (`.carousel__media`, `object-fit: cover`) so they
+ say `800x600`, and the hover-preview thumbnails say `88x66`. Those attributes are
+ deliberate and are *not* expected to match the file's own dimensions.
+
## Deployment
- The site is **published** (hosted by the user). The live URL is not written down
anywhere in this repo yet, so record it here once confirmed.
diff --git a/work.html b/work.html
index adba4af..b9b3dcd 100644
--- a/work.html
+++ b/work.html
@@ -50,11 +50,11 @@
Examples of our web and app design work.
-
-
-
-
-
+
+
+
+
+
@@ -73,13 +73,13 @@
Logos created for clients and for our own projects.
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -99,9 +99,9 @@
Apps we've designed: the interface, the buttons, and the identity around them.
-
-
-
+
+
+
@@ -120,10 +120,10 @@
Examples of our print design work.
-
-
+
+
-
+
@@ -142,10 +142,10 @@
3D modeling for client projects.
-
-
-
-
+
+
+
+
@@ -164,9 +164,9 @@
Sales copy, documentation, and editorial: words we designed and wrote.