← All posts

June 21 — glass on the surface, plumbing underneath

One of those days that fans out instead of going deep on one thing. The surface got a new look and a header that finally behaves at every width; underneath, I spent most of the real thinking on data plumbing — how my edited photos should come down, why six of them weren't matching up, and where my project notes should live. Writing it all down so I remember what actually moved.

Built / shipped

A "liquid glass" redesign, shipped dark. I had a new visual treatment for the whole app — glassy chrome, a warm backlit light-table for the photo grids, cream-mounted slides. Rather than rip out the existing "darkroom" look, I appended the whole thing as a dormant layer that only switches on when a single class is set on the page. Look on, look off, instant A/B, no risk. I gave the marketing site the same treatment but left it committed-and-not-deployed: a public page has no hidden A/B toggle, so going live there is a separate, deliberate call.

The header, finally responsive at every width. This ate a lot of the day. The persistent top header — brand on the left, nav centered, a little stats box on the right — needed to hold one clean row when wide and degrade gracefully as the window narrows. I landed three layout bands: wide keeps the rigid one-row layout, a middle "fold zone" drops the stats into a flat strip under the nav, and mobile becomes a centered wrapping stack. Verified the whole thing headless across a 720→1920 sweep.

Polish on the single-photo view. Moved the viewing controls out into the photo corners so the bottom bar holds only the cull decisions, and quieted a score badge that had been loudly wearing the wrong styling.

Problems & fixes

Decisions

Learned

Housekeeping

Still open / next