What we tried

A normal digital brush has settings. Our function brush has source code. When a child paints a stroke, a little function they can read and change decides what that gesture becomes:

  • The look is code. Shape, softness, glow, angle — the marks' whole character comes from values and functions the child edits, not from a locked settings panel.
  • Color is a function too. The palette takes the stroke's speed and time as inputs, so how you move decides the color. The background itself can be a function of time.
  • Each stroke keeps its own physics. A stroke remembers its force, whether it erases, and whether it repaints the photo underneath — so a painting becomes layers of little programs, each still alive.
  • Presets are starting points, not endpoints. We ship a shelf of ready-made brushes — every one exists to be opened and bent.

What surprised us

We assumed kids would want magic — press a button, get a wow. What we observed in our sessions was closer to the opposite: they wanted dials. The wow wore off in seconds; the control never did. Whenever we moved another part of the brush's look out of our engine and into code the kids could touch, engagement went up, not down. Complexity wasn't the barrier we feared — locked doors were.

That hardened into the studio's design rule: as much control as possible. When we're unsure whether a knob belongs to us or to the child, it belongs to the child.

What children can learn from it

That a function is a gesture. Kids meet palette(speed, time) not as syntax but as "when I paint faster it turns gold" — and then they go find the line that says so. The abstraction arrives after the feeling, which is the right order. And because every stroke is a little program they chose, the finished painting is a stack of decisions you can read back — a thinking artifact, stroke by stroke.

Open questions

  • How many presets is too many? Each one is a lesson, but also a temptation to browse instead of build.
  • What's the youngest age where "open the brush's code" beats "pick a brush"? Our hunch keeps moving downward.
Try it

Open a brush and bend it

In the Computational Art Studio, pick any preset brush, paint one stroke, then open its code and change one number. Paint the same stroke again. The difference between the two strokes is the lesson.

Open the Art Studio