This document discusses single state atom apps, which keep app state in a single source of truth (atom). It compares approaches using React with Redux or a cursor, ClojureScript with Om, and Elm. Redux uses reducers to deterministically update state from actions. Benefits include a single source of truth, deterministic state changes, and easier debugging. Examples source code is provided.