pornboxdBETA
← Field Notes
Devlog

An actor's gallery should not include scenes where she's barely in frame

If you go to an actor's page on PornBoxd, you get her bio, filmography, and a gallery of stills aggregated across every scene she has been in. The gallery is…

If you go to an actor's page on PornBoxd, you get her bio, filmography, and a gallery of stills aggregated across every scene she has been in. The gallery is one of the more visited surfaces on the site: people land on an actor page from search and scroll the gallery, and that scroll determines whether they stay or bounce.

The gallery had a quiet problem and I noticed it on a Saturday browsing my own site (which is the right way to find these). Some actors have multi-actor scenes in their filmography. Group scenes, scenes with two performers, scenes with five. The studios' production stills for those scenes are not shot from her angle, they are shot from the camera operator's angle. Which usually means the dominant subject in the still is the actor on the bottom, or the actor whose face is closest, or whoever the lighting was set up around. If I pulled up the gallery for, let's call her Actor A, half of the stills were dominated by Actor B, C, and D.

Visually it looked like the page was about Actor B. Bounce.

The fix was a SQL change that took five minutes to write and an hour to talk myself into. We added a NOT EXISTS subquery against the video_actors join table: include a still in an actor's gallery only if the still's video has exactly one actor entry, namely her. Which means the gallery on an actor page is now solo-only. Multi-actor scenes still appear in her filmography (those are scenes she was actually in), but the still gallery is curated to scenes where the visual focus is her by definition.

The hour I spent talking myself into it was not the SQL. It was the principle. Filtering a surface by some implicit rule the user did not ask for feels controlling. But I think the right framing is that the gallery is supposed to answer "what does it look like when the camera is on this actor", and a multi-actor scene answers "what does it look like when the camera is on this scene". Those are different questions. Per-scene gallery surfaces (the gallery you see on a video detail page) still show the full multi-actor still set, because there the question is about the scene, not the person.

While I was on the actor page I also paginated the filmography. Some of our top JAV actresses have over a hundred entries, and rendering all hundred at once was sending the page to about 800 KB of HTML for a single profile. Pagination at 12 per page brought a heavy actor page from 800 KB down to about 90 KB on first load. Subsequent pages fetch via the existing /actors/:slug?filmography_page=N query and render in place.

This is the kind of work nobody asks for and nobody notices when it is done right. The gallery just looks better than it did last Tuesday. I am OK with it being invisible. Most of the work that pays off long-term is.