# DemoDirector v0.1.5 - Table of Contents > Narrated, highlighted, animated demos for Phoenix LiveView — author with Tidewave and play right in your app. ## Pages - [Demo Director](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - [DemoDirector](DemoDirector.md): Direct AI-driven product demos for Phoenix apps, right from your Tidewave Web tab. - [DemoDirector.Components](DemoDirector.Components.md): HEEx components for the DemoDirector overlay. - [DemoDirector.Demos](DemoDirector.Demos.md): Discovers and parses metadata from saved demo scripts. - [DemoDirector.HEEx](DemoDirector.HEEx.md): HEEx-template helpers for tagging elements as demo-targetable. - [DemoDirector.Playback](DemoDirector.Playback.md): Server-side entry point for pushing playback JS to every connected overlay. - [DemoDirector.PlaybackChannel](DemoDirector.PlaybackChannel.md): Phoenix channel that relays playback JS from the server to every connected overlay. - [DemoDirector.PlaybackSocket](DemoDirector.PlaybackSocket.md): Phoenix socket that the overlay JS connects to in order to receive playback messages from `mix demo_director.play`. - [DemoDirector.Plug.Index](DemoDirector.Plug.Index.md): Renders a tiny HTML listing of every saved demo and serves each demo's emitted JS at `/demos/.js`. - [DemoDirector.Plug.Play](DemoDirector.Plug.Play.md): Receives a POST containing JavaScript and broadcasts it on the `demo_director:playback` PubSub topic so connected overlays can eval it. - [DemoDirector.Plug.Static](DemoDirector.Plug.Static.md): Mounted at the package's mount path by `DemoDirector.Router.demo_director/1`. Routes - [DemoDirector.Router](DemoDirector.Router.md): Router macro for mounting DemoDirector's static assets and registering the mount path so the overlay component can construct asset URLs. ## Mix Tasks - [mix demo_director.install](Mix.Tasks.DemoDirector.Install.md): Installs `demo_director` into a Phoenix application. - [mix demo_director.play](Mix.Tasks.DemoDirector.Play.md): Prints a URL you can open (or click in your terminal) that plays a saved DemoDirector demo against the running dev server.