ConfigsApr 23, 2026·3 min read

Livebook — Interactive Notebooks for Elixir

Livebook is an open-source web application for writing interactive and collaborative code notebooks in Elixir, featuring real-time collaboration, smart cells for databases and charts, and seamless integration with the BEAM ecosystem.

Introduction

Livebook is an open-source web-based notebook application for the Elixir programming language. It provides an interactive environment for writing, documenting, and running Elixir code with real-time collaboration, rich output rendering, and built-in smart cells that generate code for common tasks like database queries and chart visualizations.

What Livebook Does

  • Provides an interactive notebook interface for writing and executing Elixir code cells
  • Supports real-time multiplayer collaboration where multiple users edit the same notebook
  • Includes smart cells that auto-generate code for SQL queries, charts, maps, and file inputs
  • Renders rich outputs including tables, images, Vega-Lite charts, and interactive Kino widgets
  • Connects to running Elixir/Erlang nodes for inspecting and interacting with live systems

Architecture Overview

Livebook runs as a Phoenix web application on the BEAM virtual machine. Each notebook session spawns an isolated Elixir runtime where code cells execute sequentially with shared state. The frontend uses Phoenix LiveView for real-time UI updates without a separate JavaScript framework. Notebooks are stored as plain .livemd Markdown files that include Elixir code blocks, making them version-control friendly and readable on GitHub.

Self-Hosting & Configuration

  • Install as an Elixir escript, a Docker container, or a desktop app for macOS and Windows
  • Configure authentication via a token or password set through environment variables
  • Attach to remote Elixir nodes by providing the node name and cookie for live system debugging
  • Store notebooks on the local filesystem, S3-compatible storage, or connect to a Git repository
  • Deploy on Fly.io or Hugging Face Spaces with one-click templates for cloud-hosted notebooks

Key Features

  • Real-time collaborative editing with cursor presence and conflict-free synchronization
  • Smart cells provide no-code interfaces for database connections, charts, and API calls
  • .livemd file format is human-readable Markdown that renders on GitHub and in any text editor
  • Kino library for building interactive widgets, forms, and dashboards within notebooks
  • Dependency management via Mix.install with automatic package resolution inside notebooks

Comparison with Similar Tools

  • Jupyter Notebook — Python-centric notebooks; Livebook is Elixir-native with real-time collab
  • Observable — JavaScript notebooks in the browser; hosted platform, not self-hostable
  • Google Colab — Hosted Python notebooks with GPU; no Elixir support or self-hosting
  • Marimo — Reactive Python notebooks; similar philosophy but for the Python ecosystem
  • IEx (Elixir REPL) — Command-line only; no rich outputs, persistence, or collaboration

FAQ

Q: Do I need to know Elixir to use Livebook? A: Basic Elixir knowledge helps, but Smart Cells let you perform common tasks like querying databases and creating charts through a visual interface that generates Elixir code for you.

Q: Can I use Livebook for machine learning? A: Yes. The Nx (Numerical Elixir) ecosystem provides tensors, neural networks via Axon, and pre-trained models via Bumblebee. Livebook is the recommended environment for ML work in Elixir.

Q: How is the .livemd format different from Jupyter .ipynb? A: .livemd files are plain Markdown text files, not JSON. They are human-readable, produce clean git diffs, and render naturally on GitHub without a special viewer.

Q: Can I connect Livebook to a production Elixir application? A: Yes. Livebook can attach to any running BEAM node, letting you inspect processes, query ETS tables, and run code in the context of a live system.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets