Introduction of Akshay Agrawal from Marimo and the context of notebooks and AI/data workflows
Marimo is an open-source Python notebook built from scratch (not based on Jupyter)
Focuses on reactive execution and built-in UI elements for new ways to interact with data and AI models
Notebooks are stored as pure Python, can be versioned with git, run as scripts/pipelines, and offer SQL/database connections
Marimo serves as a modern replacement for Jupyter, Streamlit, Gradio, and Papermill
Noted for rapid prototyping and smooth transition from prototype to production
Product sees strong traction: 300,000+ monthly downloads, more GitHub stars than Jupyter Notebook, and used at organizations like OpenAI, Hugging Face, Cloudflare, BlackRock, Stanford, and Berkeley
Problems with Traditional Notebooks & Marimo’s Design Philosophy 02:24
Inspiration from issues with Jupyter notebooks: hidden state, reproducibility, inability to version with git
Goal: keep interactivity but add software-like guardrails (reproducibility, no hidden state, code reuse as apps or scripts)
Emergence of generative AI increased the need for effective data/model interaction tools
Marimo designed to enforce best practices (e.g., no redefinition of variables, functional code structure)
Unlike traditional linear notebooks, Marimo supports customizable layout (columns, flexible code arrangement)
Example demo: custom widget mimicking Microsoft Paint, outputting reactive drawing data
Integration with multimodal models shown (e.g., sending drawn graphs to Gemini, returning mermaid code), highlighting new workflow possibilities in notebooks
Built-in AI-native utilities for generating code and working with models
"Generate with AI" feature allows code completion and generation based on notebook context (variables, dataframes, etc.)
Dependencies can be managed inline in notebook headers via integration with UV package manager (from Astral), enabling reproducible notebooks with embedded dependencies
Smooth handling of missing packages: prompts for install, manages packages automatically
Demo: Data Annotation and Hardware Integration 13:13
Data annotation workflow demoed, featuring custom widgets for input via PS5 controller
Uses UI and hardware integration for efficient, interactive tasks (e.g., classifying search results from vector DB using different embedding models)
Live updates and visualizations (e.g., beta distribution plots of model performance) boost feedback and productivity