Skip to content

Memory illustrations

A memory illustration is a picture drawn for a memory that no real photograph exists for. It stands in for the photo a family never took, so the memory still opens on something to look at.

This page is the working definition, approved on September 24, 2026. It also records what has been built so far and what is still being explored.

What makes a scenario a memory illustration candidate

A memory is a candidate when all of these hold:

  • No real photograph exists, or none has been found. A real photo always wins. When one turns up, it replaces the illustration.
  • The senior tells the story in their own words, and a Loved One has confirmed it. The sourceQuote is the brief for the picture. Nothing is added that the senior did not say.
  • The moment can be pictured: a place, the people in it, and what they were doing. A feeling alone ("it was the best year") is not enough to draw.

The first candidate is Tom's elevator ride (stories-elevator-meeting in apps/mobile/src/features/stories/questions.ts): he met Nyna on the elevator of their building, "she lived on the fourth floor, and I lived on the seventh floor." Nobody photographed it, so it now shows the first memory illustration: a 1970s-style drawing of the young couple in the elevator, titled "Beckanna" (apps/mobile/assets/1/photos/elevator-beckanna-illustration.jpg, catalog id elevator-beckanna-illustration).

What the family has said about it, for the illustration brief. Only Tom's line is first-hand; the rest is from Nyna's cousins' letters (apps/mobile/assets/2/quiz-questions.md):

  • Tom: "On the elevator. She lived on the fourth floor, and I lived on the seventh floor."
  • Lindy, who shared apartments with Nyna at Beckanna: "She knocked on his door to 'borrow a screwdriver' and the rest is history!"
  • Rick: "I do remember how head over heels she was over your Dad."

Tom's account and Lindy's may be two moments of the same courtship (meeting on the elevator, then the knock on his door), but nobody has said so. The illustration names Beckanna as the building with the elevator; confirm that with the family if it matters beyond this picture.

The rules for showing one

An illustration is never presented as a record of what happened. People with memory loss can take in details that were never there (the accuracy concern Lisa Groom raised in the September 24 meeting), so an illustration is always labeled as one:

  • On screen, an "Illustration" badge sits on the picture's corner.
  • For screen readers, the memory reads "Illustration:" where a photo reads "Photo:".
  • In the catalog, the asset is marked illustration: true in apps/mobile/src/features/media/catalog.ts, with a description like any other photo. The Born Accessible gate still applies: no description, no picture.

The badge and the label come from the flag, so an illustration cannot be added without them.

Generating one (exploration)

The Beckanna illustration was made outside the app and supplied by Thomas. Generating one inside the project has not been built yet. The Faces feature already has the pieces:

  • backend/app/services/memory_image_service.py builds a prompt and calls the OpenAI image model (OPENAI_API_KEY, server side only).
  • pnpm faces:image (backend/app/cli/memory_image.py) draws an image straight into apps/mobile/assets/<senior>/photos/ without a server.

A memory illustration would reuse that path with a different prompt. The prompt comes from the memory's sourceQuote and a Loved One's notes (the decade, the place, what people wore), in the same warm, simple style as the Faces memory images. Open questions to settle before building it:

  1. Likeness. Should the people look like the senior and their family, drawn from a real photo of them as the Faces images are? Or stay generic, so the picture evokes the moment without claiming to show it?
  2. Review. A Loved One approves every illustration before a senior sees it. Where does that approval live: the memory bank, or a pull request?
  3. Period detail. How much should the prompt say about the era (cars, clothes, buildings) to feel right without inventing specifics?

Adding one by hand today

  1. Draw or generate the picture, and save it as apps/mobile/assets/<senior>/photos/<memory-id>-illustration.png.
  2. Register it in photoAssets in the media catalog with illustration: true and a description.
  3. Set mediaId on the memory in the senior's questions file.