I take hard problems apart.

Then I build the systems that coordinate the pieces, and I teach other people to do both.

ML educator at Blue River Technology (John Deere) and Georgetown. Builder of Marcus. PhD, Johns Hopkins University School of Medicine.

Diagram: Decompose, then Coordinate, then Keep the receipts 01 02 03 Decompose Coordinate Keep the receipts
Lawrence Gray, smiling, in a gray suit and blue tie

How I think

I come at problems as a systems thinker with a beginner’s mindset. Most of what looks complicated is a small number of simple pieces that have not been taken apart yet. Whether the work is a curriculum, a codebase, or a live class, it tends to follow the same three moves.

01

Decompose

Break the problem into pieces small enough that someone new to it can actually hold one in their head.

02

Coordinate

Put those pieces in relation to each other through a shared, visible record, not a chain of private assumptions.

03

Keep the receipts

Ground every claim in something checkable. Show the work instead of just asserting the conclusion.

Why this matters to me

In my mid-twenties I was a PhD student at Johns Hopkins University School of Medicine, doing research I believed could treat a rare disease. Then my grandmother died, and grief turned into a depression that did not lift. At thirty I was diagnosed bipolar. For years I could barely read or write. I finished my dissertation by speaking it aloud, one slow sentence at a time, while my wife typed.

What pulled me back, alongside medication and the patience of the people around me, was Python. Not the syntax, the shape of it: take a problem apart until each piece is small enough to hold, solve the piece, build back up. That is decomposition, the same move at the top of this page, and for a long time it was the only thing my mind could still do. It was not a cure and it was never a substitute for treatment, but it was the first thing that worked. I still teach it like it once saved someone's life, because it saved mine. I say this out loud because most people in technical careers still cannot, and I would rather be one more who does. The longer version is in an essay I wrote about it, in my PyData NYC keynote, and in interviews.

Lawrence Gray speaking at a lectern at PyCon US 2026, with his face shown on the large screen behind him
Lightning talks, PyCon US 2026, Long Beach.

What I build

Marcus

An open-source server for coordinating multiple AI agents without having them talk to each other. Two agents in conversation works fine. At three they start arguing, at four they second-guess each other, and by five they burn through their context windows and get measurably worse. That is not an intelligence problem, it is an organizational design problem, so Marcus replaces the conversation with a Kanban board: every task carries everything an agent needs, and agents pull work off the board instead of negotiating over it.

To test the idea on its own, I stripped it down to marcus-mini, three moving parts in plain Python, and benchmarked it against AutoGen and LangGraph on the same task graphs with the same model: three times faster at nine tasks, seven times faster at twenty-seven, with the gap widening as the project grows. The full system is about 120,000 lines of Python, open source since May 2025. Three different coding agents, Claude Code, Codex, and Gemini CLI, have built software together on it without exchanging a single message, and you can see what each one did and what it cost. I organized a sprint for Marcus at PyCon, with a hosted endpoint and printed guides so people could start contributing in an afternoon.

Marcus on GitHub   marcus-mini and the benchmark

Cato dependency graph for the snake game project: a chain from game state to tech foundation, fanning out to five parallel implementation tasks, converging on integration verification, ending at the README
Decompose: the dependency graph Marcus built for the same project before any agent started. Two foundation tasks, five that can run in parallel, one integration gate, one write-up at the end. Every node is green at 100 percent except the README, which was still being written.
Cato board for the snake game project showing the In Progress, Blocked, and Done columns: four tasks in progress, none blocked, seven done, each card naming its agent and elapsed minutes
Coordinate: the same project on the board, eighteen minutes in. Four agents working in parallel, seven tasks done, nothing blocked, two more waiting in a backlog column out of frame, and not one message between them. Every card names the agent that holds it and how long it has had it.

Yellowbrick

Core contributor and maintainer of the open-source Python library for visualizing machine learning model selection. It is where I got started in open source, and where I learned to build software other people could maintain.

scikit-yb.org

NumFOCUS

Served on the board of directors of the nonprofit behind NumPy, pandas, Jupyter, and the PyData conferences from 2022 to 2025, including as chair. Before the board, I sat on its small development grants and affiliated project selection committees.

numfocus.org

Mastering Python: A Problem-Solving Approach

Commissioned by Manning, unpublished. A book about using Python to practice decomposition, pattern recognition, abstraction, and algorithmic thinking, not just syntax.

Teaching

200+engineers taught at Blue River since 2025
300+students at Georgetown since 2018
12 of 15AI projects led since January now in production
92%of course ratings at 4 or 5, across 39 evaluations

Georgetown University

Program Director for Data Analytics at the School of Continuing Studies, and an instructor there since 2018. More than 300 students through Data Analytics and Data-Driven Decision Making, with a 97 percent completion rate.

Blue River Technology (John Deere)

Senior ML Educator since 2025. More than 200 engineers taught live across nine concurrent courses in 2026, from introductory Python through generative AI and retrieval systems, with 92 percent of ratings at 4 or 5 across 39 course evaluations. Tech lead on 15 AI projects since January 2026, 12 of them now in production, including a warranty-claim classifier that avoided more than $500K in payouts in its first four months. Built Course Master, a curriculum-design method selected for adoption across John Deere; its first cohort of engineer-instructors begins October 2026.

Free teaching material lives in the Python Teaching Toolkit, including the short guide to when Python wants parentheses, brackets, or braces that beginners ask about most.

Writing and talks

I write and speak about open source, coordination, and what actually happens when you put multiple AI agents in a room together.

On stage I take on how people actually learn to program, building open source communities that last, social capital in the data science ecosystem, coordination in multi-agent systems, and mental health in technical careers.

Lawrence Gray at the lectern at PyCon US 2026 beside a slide reading Five AI Agents Walk into a Group Chat. Nothing Gets Done.
The lightning talk, PyCon US 2026.
Five people working on laptops around a round table at the Marcus sprint during PyCon US 2026
The Marcus sprint table two days later. Printed guides, a hosted endpoint, and strangers shipping pull requests by the afternoon.

These are four from a set of nine, recorded over the last six years. Watch the full playlist on YouTube.

I am also writing a series on LinkedIn about the specific ways multi-agent systems fail and cohere, starting with a piece on retry pressure. Follow along on LinkedIn.

Essays

More on Medium

Talk to me

For speaking invitations, questions about Marcus, or just to say hello.

LinkedIn
linkedin.com/in/larry-gray-phdThe most reliable way to reach me.
Email
lwgray@gmail.comIf you would rather write.
GitHub
github.com/painted-porch/marcusMarcus, and the rest of the open-source work.