Site overhaul: what changed and why
Twenty-three rows off the website punch list in one session. Preload fixes, responsive video encodes, srcset everywhere, vendored CDN deps, and twelve case studies finally linked from the home page.
The plantsandchairs.com front end has been quietly accruing debt for months. A consolidated audit on August 23 surfaced 26 issues across priority bands, and the studio agents knocked out 23 of them in a single session. Here is what changed and why each one matters.
Page weight: the biggest win
The home page was loading a 2.7 MB video on every visit regardless of whether it ever played. Changing one attribute — preload="auto" to preload="metadata" — drops that to zero bytes until the user interacts. Eight mobile video encodes were generated at 390px width, reducing the mobile hero payload from 2.7 MB to 85 KB. The motion showcase clips went from 3.5 MB to 288 KB. Combined with adding srcset and sizes attributes to every thumbnail image on the home page, the work grid, and the store, mobile page weight on the home page went from roughly 11 MB to 3 MB.
Third-party CDN dependencies: gone
Three.js r128 for the Tienda 3D viewer and three.js 0.160 with postprocessing for the cartridge engine were both loading from cdnjs. Both are now vendored under /static/vendor/ along with the Draco decoders and import maps. One less third party to trust, one less DNS lookup per page.
Case studies: finally visible
The home page had a function called home_new_work_cards() that generated twelve case study cards. It was defined but never called. The home page’s featured-projects section explicitly excluded case-study slugs, so eleven bespoke /work/<slug>/ pages had zero links from anywhere the visitor would actually land. The fix wires the cards into the live render_home() body and expands the slug list from three to twelve. The SeaVita study now has a portfolio entry too, and the archive page no longer routes case-study links through a 301 hop.
Contract ratio, structured data, and CDN security
Two contrast violations were below WCAG AA. The "View case" label and the about page pink panel were white-on-pink at 3.29:1 and 2.75:1 respectively. Changing both to ink-on-pink hits 6.13:1 across both. JSON-LD structured data now ships on every key page: Organization on the home page, CollectionPage on the work and store indexes, and an ItemList of twenty products on the store. Google can actually understand what the site is now.
What is left
Three rows remain open. The Behance queue has 63 ready studies but Behance retired their project-creation API, so those are manual uploads. Commerce gate verification needs one live card test through Square and Shippo. The Space Grotesk cleanup in archival paths is cosmetic. The important stuff shipped.