The document provides an introduction to core.async, a Clojure library for concurrency and communication using asynchronous channels. It discusses how core.async is based on Communicating Sequential Processes (CSP) and channels, and provides two examples of using core.async channels to coordinate concurrent processes. The first example shows coordinating three independent search services, and the second coordinates three processes running at different speeds. Both examples are demonstrated in ClojureScript using core.async channels.