Livebook is an interactive notebook platform for Elixir that provides a web-based environment for writing and running code cells alongside Markdown content, visualizations, and reproducible workflows. It serves as a multi-cloud auto-clustering tool that automatically discovers and joins Elixir nodes into clusters across Kubernetes, AWS ECS, and Fly.io for distributed execution, and also functions as a notebook deployment tool that packages notebooks into standalone web applications with authentication, secrets, and Docker support.
The platform enables real-time collaborative editing, synchronizing notebook cell content and execution state across multiple users simultaneously through Phoenix PubSub. It supports remote node code execution, allowing users to run arbitrary Elixir code on production nodes by configuring node names and cookies through smart cells. Livebook integrates Vega-Lite for declarative interactive charting, rendering specifications as interactive visualizations within notebook cells.
Notebooks are stored as .livemd files using a Markdown-based format with embedded code cell metadata, making them compatible with version control systems. The platform provides process-based runtime isolation, where each notebook runs in its own Elixir process with a separate module namespace to prevent interference across notebooks. It includes a smart cell plugin architecture that encapsulates database queries, charting, and mapping behind a declarative configuration interface, and supports dependency management through Mix.install/2 for reproducible environments without requiring a Mix project.
Livebook offers authentication and access control through multiple identity providers, including basic auth, OIDC SSO, email domain checks, and zero-trust proxies like Cloudflare and Tailscale. It can be configured via environment variables for boot settings such as authentication, clustering, SSL, and app deployment paths, and supports connecting to custom runtimes including fresh Elixir instances, remote nodes, or existing projects.