BREAKING   marimo crosses 20,000 GitHub stars FUNDING   $5M seed led by AIX Ventures BACKERS   Jeff Dean, Wes McKinney, Clement Delangue PEDIGREE   Stanford PhD under Stephen Boyd SHIPPED   CVXPY, PyMDE, TensorFlow 2.0 BREAKING   marimo crosses 20,000 GitHub stars FUNDING   $5M seed led by AIX Ventures BACKERS   Jeff Dean, Wes McKinney, Clement Delangue PEDIGREE   Stanford PhD under Stephen Boyd SHIPPED   CVXPY, PyMDE, TensorFlow 2.0
The Notebook Heretic

Akshay
Agrawal.

He looked at the tool every data scientist tolerates and asked the dangerous question: what if a notebook were just Python?

Akshay Agrawal, co-founder and CEO of marimo
AKSHAY AGRAWAL — Founder & CEO, marimo. The optimizer who optimized the notebook itself.
20k+
marimo GitHub stars
500k
CVXPY downloads / mo
$5M
Seed round
3
Stanford degrees

A notebook you can actually code-review.

Open a marimo notebook and the first surprise is what is missing. There is no tangled JSON, no buried output, no quiet panic of cells that ran in the wrong order three hours ago. There is a Python file. You can read it. Git can read it. That single decision is the whole argument.

Akshay Agrawal is the co-founder and CEO of marimo, an open-source reactive notebook for Python. The pitch is deceptively small: store the notebook as a plain .py file, make it reactive so that when you change one cell the others update on their own, and let the same file run as a script or deploy as an app. The result is a notebook that behaves like a real program instead of, in marimo's own words, "an error-prone JSON scratchpad."

The frustration is older than the company. Agrawal hit it while finishing a PhD in machine learning at Stanford, where the daily ritual of data work ran through Jupyter. The notebooks worked until they did not. Cells carried hidden state. Delete a cell and its variable lingered like a ghost. The relationships between pieces of an analysis were invisible, so reproducing yesterday's result often meant the dreaded "restart and run all" and a held breath. He wanted a notebook that showed, plainly, how each cell depended on the others, and updated itself when something changed.

A notebook should be a reproducible, interactive, and shareable Python program, instead of an error-prone JSON scratchpad.
— marimo's founding premise

marimo is not a lone invention. It sits in a lineage of reactive dataflow tools, drawing open inspiration from Julia's Pluto.jl and from Observable in the JavaScript world. The bet Agrawal made was that Python, the language data science actually lives in, deserved the same treatment, and that doing it as plain files would win over the people who care most: engineers who version-control everything and recoil at a notebook that produces a 4,000-line diff over a one-character change.

The open-source world answered. marimo has climbed past 20,000 stars on GitHub, the kind of traction that turns a side project into a company. In late 2024 it raised a $5M seed round led by AIX Ventures. The backer list is its own credential: Jeff Dean of Google, Wes McKinney who created pandas, Clement Delangue of Hugging Face, Anthony Goldbloom of Kaggle, Jordan Tigani of MotherDuck, and Charlie Marsh of Astral. When the people who built the modern Python data stack put money into your notebook, the notebook is worth a look.

Trained by the man who made optimization legible.

Before marimo, there was CVXPY. As an undergraduate and then graduate student at Stanford, Agrawal worked under Stephen Boyd, whose convex optimization course is something of a legend in engineering. He helped design and implement version 1.0 of CVXPY, a Python-embedded language that lets people describe an optimization problem in math-like syntax and have a computer solve it. He still maintains it. The library is downloaded more than half a million times a month and runs inside dozens of universities and companies, mostly invisibly, the way good infrastructure does.

CVXPY taught a lesson that runs straight through everything Agrawal builds: a good tool does not just compute an answer, it changes how you think about the problem. Make the hard thing legible and more people can do it. That is the same nerve marimo presses, only now the hard thing is the notebook itself.

His Stanford years were not only research. He spent seven quarters as a teaching assistant, including Boyd's famous EE 364a convex optimization course, Percy Liang's AI class, and the introductory programming course that turns thousands of freshmen into coders. He interned at Google across four summers, touching everything from SSD simulation to fleet performance analysis to Linux kernel tooling, the unglamorous plumbing of systems at scale. Then he joined Google Brain as an engineer, where he worked on the multi-stage programming model that became part of TensorFlow 2.0. His PhD research, published at NeurIPS, ranged from differentiable convex optimization layers to minimum-distortion embeddings, the latter shipping as another open-source library, PyMDE.

I build foundational Python tools for developers who work with data.
— Akshay Agrawal, GitHub bio

It is a tidy summary of a career that keeps circling the same point. CVXPY for optimization. PyMDE for embeddings. TensorFlow for deep learning. marimo for the notebook. Each one is a foundational tool, the kind other people build on without thinking about who made it. He is not chasing applications. He is sharpening the instruments.

marimo
★ 20,000+ · reactive notebook
Open-source Python notebook stored as a .py file. Reactive, reproducible, runs as a script, deploys as an app.
CVXPY
★ 6,300+ · optimization
Python-embedded language for convex optimization. Co-built v1.0; still a maintainer. 500k downloads a month.
PyMDE
★ 590+ · embeddings
GPU-accelerated minimum-distortion embeddings for visualizing and laying out large datasets and graphs.
CVXPyLayers
★ 2,100+ · differentiable opt
Drops convex optimization problems into neural networks as differentiable layers. From his NeurIPS research.

Better tools change how we think.

marimo's stated mission is to empower people to make data actionable through better programming tools, on the conviction that superior tools improve how we think and work. It sounds like a slogan until you trace it back through the work. A convex optimization library that makes a graduate-level subject usable by a stranger. An embedding tool that turns a million data points into a picture. A notebook that refuses to hide its own logic. The through-line is honesty: tools that show you what is actually happening.

There is a quiet stubbornness in choosing the notebook as a battlefield. Jupyter is entrenched, beloved, and everywhere. To argue that the most common tool in data science is quietly broken is to pick a fight with millions of muscle-memory habits. Agrawal's answer is not a lecture but a file you can open in any text editor, diff in git, and trust to run the same way twice. He is letting the artifact make the case.

marimo today is a small team, around eleven people, with founding engineers pulled from across the open-source Python world and a co-founder, Myles Scolnick, who came from Palantir and CloudKitchens and serves as CTO. Agrawal still ships code, still maintains CVXPY, still turns up at PyCon and SciPy to make the reactive-notebook argument in person. The company is young. The idea underneath it has been cooking for a decade.

If there is a single image for what he does, it is the green algae the company is named after. Marimo are rare velvety moss balls, slow-growing and strangely durable, prized in Japan and passed between generations. Foundational tools are like that. They grow quietly, they outlast their makers, and the people who depend on them often forget they were ever built by hand.

Footnotes & curiosities.

The namemarimo are rare green algae balls, velvety and slow-growing, treasured in Japan and handed down between generations. A fitting mascot for foundational software.
Git-native by designBecause a marimo notebook is plain Python, it diffs and merges cleanly. A notebook your teammates can review line by line, finally.
Four summers at GoogleBefore Brain, he interned across four summers on SSD simulation, distributed storage, fleet analysis, and Linux kernel tooling.
Seven quarters teachingHe TA'd Boyd's convex optimization course, Percy Liang's AI class, and intro programming for thousands of Stanford freshmen.