Component triggered by the event store that consumes events and builds a read-model projection (graph DB, in-memory, partial business view, etc.). Switching schema is done by building a new projection, populating it from events, and redirecting reads — no traditional migrations required. Must be idempotent.