Reflex is a ClojureScript library for automatic state propagation. Intrinsic application state lives in atoms, from which derived values can be computed using Reflex-provided “computed observables” (COs). COs always reflect the latest state, can depend on multiple atoms, and are themselves watchable (i.e., you can chain them). COs are lazily evaluated, computing state only when they are dereferenced—they will notify their watches when they become dirty, but will not pass any values.