🎓 Classes using marimo.

Browse classes

made with marimo

Get inspired by this curated gallery, made with marimo: the open-source reactive Python notebook.

Share your molab notebook on socials and tag us for a chance to be featured: X · LinkedIn · Bluesky · Reddit

113 notebooks
Visualizing Embeddings

Visualizing Embeddings

by marimo team

Select points in embedded space to understand clusters better.

matplotlibml
Cellular Automaton

Cellular Automaton

by marimo team

Art from a cellular automaton using matplotlib; inspired by Simone Conradi.

matplotlib
Arnold's Cat Map

Arnold's Cat Map

by marimo team

Watch a rainbow grid scramble and reassemble under Arnold's cat map, with editable matrices.

mathwidget
Portfolio Calculator

Portfolio Calculator

by marimo team

An interactive tool for portfolio analysis and investment calculations.

analysisdashboardfinance
Country ETF vs FTSE All-World

Country ETF vs FTSE All-World

by marimo team

Blend single-country ETFs and compare their return against the FTSE All-World benchmark.

analysisdashboardfinance
Parallel Coordinates

Parallel Coordinates

by marimo team

Explore Fashion MNIST in higher dimensions with interactive parallel coordinate brushing.

widgetml
ODE Solver

ODE Solver

Interactive ODE solver with a draggable initial condition and direction field visualization.

mathmatplotlibcommunity
Bak-Sneppen Model

Bak-Sneppen Model

Interactive 3D visualization of the Bak-Sneppen model of self-organized criticality.

matplotlibcommunity
Sketch Vectorization

Sketch Vectorization

Convert hand-drawn sketches into SVGs using deep learning and Bézier curve fitting.

communitymlmatplotlib
SQLite and DuckDB

SQLite and DuckDB

by marimo team

How to run SQLite directly, and from within DuckDB, using marimo SQL cells.

sql
Bookshelf with marimo-cad

Bookshelf with marimo-cad

Make a bookshelf, using sliders, with marimo-cad

cadwidgetcommunity
Thermodynamic Linear Algebra

Thermodynamic Linear Algebra

Estimating the inverse of a matrix using thermodynamic principles with interactive visualizations.

matplotlibmathcommunity
Training Neural Networks

Training Neural Networks

by marimo team

A notebook that trains a tiny neural network with Andrej Karpathy's micrograd

ml
Spectral Clustering

Spectral Clustering

by marimo team

Using eigenvectors of the Laplacian to cluster data where k-means fails.

mathmatplotlib
Spectral Graph Drawing

Spectral Graph Drawing

by marimo team

Drawing graphs via eigenvectors of the graph Laplacian.

mathmatplotlib
Spectral Denoising

Spectral Denoising

by marimo team

Recover signals from noisy measurements on graphs using the Laplacian as a regularizer.

mathmatplotlib
Spectral Decomposition

Spectral Decomposition

by marimo team

Interactively explore a spectral decomposition with matrix widgets

mathwidgetstem
Low-Rank Approximation

Low-Rank Approximation

by marimo team

Compress images in real time using a low-rank approximation via the SVD.

mathmatplotlib
Dead Salmons of Interpretability

Dead Salmons of Interpretability

Interactive false-positive traps showing how feature attribution, probing, SAEs, and circuits 'find' structure in pure noise.

communityjamresearch
Geometry of Noise

Geometry of Noise

Why diffusion models don't need noise conditioning, derived in closed form on a toy circles dataset.

communityjamresearch
Inscribed Squares from Noise

Inscribed Squares from Noise

A diffusion model attacks the 100-year-old inscribed square problem by drawing (CVPR 2026).

communityjamresearch
Neural Thickets

Neural Thickets

A paper explainer for 'Diverse Task Experts Are Dense Around Pretrained Weights' with interactive loss landscapes and a RandOpt implementation.

communityjamresearch
Nested Clusters with EVoC

Nested Clusters with EVoC

by marimo team

Explore nested clusters in Fashion MNIST using EVoC with interactive parallel coordinates and treemap views.

mlwidget
Recursive Images

Recursive Images

by marimo team

Draw a shape, place copies of it as a rule, and render the recursive fractal.

widgetmath
Loss Landscape Visualization

Loss Landscape Visualization

by marimo team

Visualize neural network loss landscapes in 3D; inspired by Ziming Liu.

ml
100 Prisoners Puzzle

100 Prisoners Puzzle

by marimo team

An interactive simulation of the famous 100 prisoners probability puzzle.

mathwidgetanalysis
Lego Price Explorer

Lego Price Explorer

by marimo team

Explore price differences across Lego themes and analyze price-per-piece patterns.

dashboardanalysis
World of Warcraft Bot Detection

World of Warcraft Bot Detection

by marimo team

Interactive visualization for detecting bots in WoW player data using session length analysis.

dashboardanalysis
Comparing GDPO and GRPO

Comparing GDPO and GRPO

by marimo team

A comparison of the GDPO and GRPO reinforcment learning algorithms.

llmalgorithmresearch
Drawdata Scatter

Drawdata Scatter

by marimo team

Draw scatter data interactively and visualize it with Altair histograms.

widgetanalysis
Movies Dashboard

Movies Dashboard

by marimo team

Explore movie data interactively with a dashboard constructed with marimo UI elements.

dashboard
Seam Carving

Seam Carving

by marimo team

Content-aware image resizing that preserves important features using dynamic programming.

mathanalysisstem
Click and Zoom

Click and Zoom

by marimo team

Click and zoom into maps to explore and get coordinates back in Python.

geo
Federated Learning

Federated Learning

Interactive simulation of federated learning with hospitals training local models and FedAvg aggregation.

mlanalysiscommunity
Signal Decomposition

Signal Decomposition

by marimo team

Breaking a complex signal into the sum of simpler interpretable components.

stem
Matplotlib selections

Matplotlib selections

by marimo team

Select data points on a scatter plot and get them back in Python.

widget
Drag and Drop

Drag and Drop

by marimo team

Drag and drop GPX, GeoJSON, KML or TopoJSON files on to the map.

geo
Airport Display

Airport Display

by marimo team

Use openstreetmaps and openlayers to show all the airports out there.

geo
Earthquakes

Earthquakes

by marimo team

Highlight all known earthquakes on the openlayers map.

geo
When Europeans Fly Nest

When Europeans Fly Nest

An analysis of when Europeans leave their parental home.

geocommunity
Matrix

Matrix

by marimo team

An interactive matrix editor for manipulating grid data.

widget
DuckDB SQL: F1 Dashboard

DuckDB SQL: F1 Dashboard

by marimo team

Explore F1 races with DuckDB as a backend in marimo.

widget
Paint

Paint

by marimo team

A drawing and painting canvas widget for freeform input.

widget
LLM Unlearning Bigger

LLM Unlearning Bigger

by marimo team

Exploring unlearning in large language models by overfitting what you don't want.

llmalgorithmresearch
Seed of Thought

Seed of Thought

by marimo team

Reproduce the String Seed of Thought paper: showing LLMs struggle to sample uniformly and a trick to fix it.

llmalgorithmresearch
EdgeDraw

EdgeDraw

by marimo team

Draw edges between nodes for graph creation.

widget
Borsuk-Ulam Theorem

Borsuk-Ulam Theorem

by marimo team

Can you draw a counter-example of the Borsuk-Ulam Theorem? Probably not.

mathalgorithm
SortableList

SortableList

by marimo team

A draggable list for reordering items interactively.

widget
SQL interpolation

SQL interpolation

by marimo team

A demo of how to use marimo UI and f-strings to interpolate SQL queries.

sql
ColorPicker

ColorPicker

by marimo team

An interactive color selection widget.

widget
GamepadWidget

GamepadWidget

by marimo team

Capture input from gaming controllers.

widget
Motherduck

Motherduck

by marimo team

Directly connect to motherduck via the browser.

sql
KeystrokeWidget

KeystrokeWidget

by marimo team

Capture keyboard input and key combinations.

widget
SpeechToText

SpeechToText

by marimo team

Convert voice input to text using the browser's speech recognition.

widget
CopyToClipboard

CopyToClipboard

by marimo team

A utility widget for copying content to the clipboard.

widget
CellTour

CellTour

by marimo team

Create guided tours through notebook cells.

widget
WebcamCapture

WebcamCapture

by marimo team

Capture images from the webcam.

widget
Trimesh demo

Trimesh demo

by marimo team

Grab 2D slices using trimesh, a Python library to work with 3D files.

widgetcad
ThreeWidget

ThreeWidget

by marimo team

3D visualization widget using Three.js.

widget
HTMLRefreshWidget

HTMLRefreshWidget

by marimo team

Render dynamic HTML content that auto-refreshes.

widget
EnvConfig

EnvConfig

by marimo team

Configure environment variables interactively.

widget
Tangle

Tangle

by marimo team

Interactive number manipulation with draggable values in text.

widget
ChartPuck

ChartPuck

by marimo team

Interactive chart editor with draggable control points.

widget
Matrix Decomposition

Matrix Decomposition

by marimo team

An interactive exploration of matrix decomposition techniques.

widgetmathstem
Dicekit

Dicekit

by marimo team

An interactive exploration of dice probability calculations and distributions.

mathstem
FastAPI + GliNER

FastAPI + GliNER

by marimo team

Demo showing GliNER v2 for zero-shot entity extraction, runnable as webapp, API, or CLI.

ml
Altair Reactive Plots

Altair Reactive Plots

by marimo team

Interactive Altair charts with brush selection and reactive filtering.

analysisdashboard
Sklearn Classification Workbook

Sklearn Classification Workbook

by marimo team

Bootstrap scikit-learn classification models with automatic preprocessing and cross-validation.

mlanalysis
Lanchester's Law

Lanchester's Law

by marimo team

Interactive simulation of Lanchester's Laws of combat

mathanalysiswidget
Suguru

Suguru

by marimo team

Interactive Suguru puzzle solver and generator

mathanalysiswidget
Evolutionary Strategies

Evolutionary Strategies

by marimo team

Interactive exploration of evolutionary optimization algorithms

mathalgorithm
Smoothed Gradient Descent

Smoothed Gradient Descent

by marimo team

Visualize gradient descent with momentum and smoothing techniques

mathalgorithm
Vector Puck

Vector Puck

by marimo team

Explore vector arithmetic with pucks over matplotlib

mathwidget
Vase with marimo-cad

Vase with marimo-cad

Make a vase for 3d printing with marimo-cad

cadwidgetcommunity
Simpson's Paradox with PyMC

Simpson's Paradox with PyMC

by marimo team

Explore Simpson's paradox with Bayesian modeling, showing how confounding variables can reverse observed trends.

mathanalysis
Prompt Repetition

Prompt Repetition

by marimo team

Reproduce research on prompt repetition with a notebook that can run experiments properly.

llmanalysis
Chemical Space Explorer

Chemical Space Explorer

Visualize molecular chemical space using t-SNE and HDBSCAN clustering.

mlstemcommunity
Chemical Cluster Viewer

Chemical Cluster Viewer

Explore Butina clusters of aligned chemical structures with an interactive cluster viewer.

mlstemcommunity
Slider2D

Slider2D

by marimo team

A 2D slider control for selecting x/y coordinates interactively.

widget
Mandelbrot with Cython

Mandelbrot with Cython

Mandelbrot set computation that uses the marimo-cython plugin for speedup.

communitystem
Beyond Rock, Paper, Scissors

Beyond Rock, Paper, Scissors

by marimo team

Explore why fair games require an odd number of elements through interactive game theory math.

mathwidget
Bayesian Regression Demo

Bayesian Regression Demo

Interactive Bayesian linear regression showing how posterior distributions evolve as data points are added.

mathmlcommunity
Convolution Explorer

Convolution Explorer

by marimo team

Interactive exploration of 2D image convolution kernels with real-time side-by-side previews.

matplotlibalgorithm
Curating Data with Hugging Face and dltHub

Curating Data with Hugging Face and dltHub

Load, validate, filter, and publish ML datasets using dlt pipelines with Hugging Face and LanceDB.

mlcommunity
WaveSurfer Audio Widget

WaveSurfer Audio Widget

Custom audio widget for annotation using anywidget and wavesurfer.js.

widgetcommunity
Conformal Mapping Explorer

Conformal Mapping Explorer

by marimo team

How complex functions like z², 1/z, and e^z transform images using an interactive puck.

mathwidget
Infinity Zooming Effect

Infinity Zooming Effect

by marimo team

Interactive recursive zoom simulator with log-polar coordinate transformations and paint!

math
Deck.gl Hexagon Heatmap

Deck.gl Hexagon Heatmap

Interactive 3D hexagonal heatmap on a map with adjustable radius, coverage, and elevation.

geowidgetcommunity
Self-Attention

Self-Attention

by marimo team

A primer on self-attention, a building block for modern Transformers.

llmmath
Multi-Head Attention

Multi-Head Attention

by marimo team

A primer on multi-head attention, the standard attention block used in modern Transformers.

llmmath
Tractography Viewer

Tractography Viewer

Visualization of diffusion MRI tractography, with a widget to explore slices of a human brain by scrolling.

stemwidgetcommunity
CAZyLingua

CAZyLingua

Predict carbohydrate-active enzyme families from protein embeddings using a random forest model with a neural network.

stemcommunity
OpenRouter Image Bakeoff

OpenRouter Image Bakeoff

by marimo team

Compare image-generation models side-by-side through OpenRouter, with optional sketch-based prompting.

widget
Hypercube Graph

Hypercube Graph

by marimo team

Interactively visualize hypercube graphs in arbitrary dimensions with a force-directed layout.

mathwidget
McNugget Graph

McNugget Graph

by marimo team

Step through a breadth-first search of the McNugget problem and watch the reachable totals fan out.

mathwidget
Depth Anything V2

Depth Anything V2

by marimo team

Upload a photo and visualize relative depth as a colorized map and interactive 3D point cloud.

mlwidget
Julia Sets via Lagrangian Descriptors

Julia Sets via Lagrangian Descriptors

Visualize Julia sets of the map z² + c using discrete Lagrangian descriptors, with interactive parameters and animation.

matplotlibmathcommunity
Bots for Connect4

Bots for Connect4

Explore Monte Carlo Tree Search step by step and play Connect 4 against an MCTS-powered bot.

algorithmmlcommunity
SymPy Gamma

SymPy Gamma

by marimo team

A tiny SymPy Gamma in a notebook: analyze an expression to get its simplified form, roots, derivative, integral, series expansion, and plot.

mathmatplotlib
Wanderland

An interactive coding playground: guide Mo the Mossball through puzzle worlds by writing Python.

widgetcommunity
Elastic Net for the Travelling Salesman Problem

Elastic Net for the Travelling Salesman Problem

by marimo team

Draw a set of cities and watch Durbin & Willshaw's elastic net method unfurl a rubber-band tour through them.

algorithmmathwidget
PrettyForest

PrettyForest

Explore tree-based ML ensembles as an interactive 2.5D isometric forest — trace predictions, drill into trees, sort by purity.

widgetmlcommunity
the Shape of Beliefs

the Shape of Beliefs

How language models represent statistics like mean and variance on curved activation manifolds, with steering experiments extended to geographic data.

llmresearchgeocommunity
Predict the Image, Not the Noise

Predict the Image, Not the Noise

An interactive explainer of 'Back to Basics: Let Denoising Generative Models Denoise', showing diffusion models can predict clean images directly since natural images live on a low-dimensional manifold.

mlresearchwidgetcommunity
Can LLMs Plan?

Can LLMs Plan?

LLM-BabyBench: a benchmark evaluating LLMs' grounded planning and reasoning in simulated grid-world environments.

llmresearchcommunity
Molecular Trajectory Animation

Molecular Trajectory Animation

Animate and record a vibrating water molecule with marimol's 3D structure viewer.

stemwidgetcommunity
The Winner's Curse

The Winner's Curse

by marimo team

Simulate the winner's curse in a common-value auction and find the bid discount that removes it.

mathstem
Circle Genetic Art

Circle Genetic Art

by marimo team

Rebuild an image from translucent circles or squares with a hill climber, and compare an all-at-once fit against a waves fit.

algorithmmathmatplotlib
2D Character Embeddings

2D Character Embeddings

by marimo team

Train a tiny next-character predictor and watch a 2D embedding form for each letter.

matplotlibmlwidget
modist

modist

Drag the density curve to set your Bayesian priors, then hand them to scipy or PyMC.

widgetstemcommunity
Cython in marimo

Cython in marimo

Compile Cython functions inside notebook cells with marimo-cython.

community
dtour: Interactive Tours of High-Dimensional Data

dtour: Interactive Tours of High-Dimensional Data

Animate through 2D projections of high-dimensional data and link the selections to other views.

widgetstemmlcommunity
Unbroken Line

Unbroken Line

Draw a painting with one line that grows, folds, and never crosses itself.

mathmatplotlibcommunity