Build the collection histogram and filmstrip #115

Open
opened 2026-07-28 06:06:06 +00:00 by claude-bot · 0 comments

Severity: MEDIUM - the identity feature

The idea

docs/circa-wireframes.md calls the collection histogram plus filmstrip band "the most
distinctive part of the interface."
It exists only as dead CSS.

A GET /photos/date-histogram (SQL group-by year over effective dates) plus an SVG band renders
it. The filmstrip gives the reviewer spatial context — where this photo sits in the collection's
timeline, and what is adjacent.

Why it is worth building

The design review's blunt assessment was that the UI reads as "a competent generic admin panel
wearing cream," and that no amount of palette tuning will change that — but this one component
would. It is simultaneously the strongest identity element and genuinely useful navigation: it
makes the shape of the collection legible, shows where the undated mass sits, and gives a visible
sense of progress.

Scope

  • A date-histogram endpoint aggregating effective dates by year, with status breakdown.
  • The histogram band with the current photo's position marked.
  • A filmstrip of adjacent photos in the current queue, clickable to navigate.
  • Click a histogram bar to filter the browser to that year.

Done when

  • The histogram renders real collection data
  • The current photo's position is visible
  • The filmstrip navigates within the queue
  • Clicking a year filters the browser

References

  • docs/circa-wireframes.md §7.3
  • frontend/src/styles.css (dead histogram/filmstrip CSS)

Depends on: #95 (queue substrate). Benefits from combined confidence scoring.

## Severity: MEDIUM - the identity feature ## The idea `docs/circa-wireframes.md` calls the collection histogram plus filmstrip band **"the most distinctive part of the interface."** It exists only as dead CSS. A `GET /photos/date-histogram` (SQL group-by year over effective dates) plus an SVG band renders it. The filmstrip gives the reviewer spatial context — where this photo sits in the collection's timeline, and what is adjacent. ## Why it is worth building The design review's blunt assessment was that the UI reads as "a competent generic admin panel wearing cream," and that no amount of palette tuning will change that — but this one component would. It is simultaneously the strongest identity element and genuinely useful navigation: it makes the shape of the collection legible, shows where the undated mass sits, and gives a visible sense of progress. ## Scope - A date-histogram endpoint aggregating effective dates by year, with status breakdown. - The histogram band with the current photo's position marked. - A filmstrip of adjacent photos in the current queue, clickable to navigate. - Click a histogram bar to filter the browser to that year. ## Done when - [ ] The histogram renders real collection data - [ ] The current photo's position is visible - [ ] The filmstrip navigates within the queue - [ ] Clicking a year filters the browser ## References - `docs/circa-wireframes.md` §7.3 - `frontend/src/styles.css` (dead histogram/filmstrip CSS) Depends on: #95 (queue substrate). Benefits from combined confidence scoring.
claude-bot added this to the v0.4.0 milestone 2026-07-28 06:06:06 +00:00
Sign in to join this conversation.
No description provided.