Rive Blog

Brilliant builds its Math and Coding Tutor character with Rive

Brilliant is an interactive learning platform used by millions of people to develop math and coding skills through hands-on problem solving. A guest blog post from Brilliant.

-

A guest blog post from the Brilliant team.

Brilliant is an interactive learning platform used by millions of people to develop math and coding skills through hands-on problem solving. Last week, we launched Koji – a superintelligent AI tutor that sees where you’re stuck, sketches right on your screen, and guides you to real a-ha moments. And we found that making him a fully animated character was critical to making the feature sing.

Koji is a character that students need to trust, connect with, and want to learn from. To do that, he needs to react, emote, and feel truly present. And that was the perfect problem for Rive to solve.

Joy in Learning

Brilliant has long believed that the most joyful way to learn is the most effective way to learn. We work hard to take the sting out of failure and help people see their mistakes as stepping stones to mastery. 

We built an AI tutor to solve the least joyful experience you could have during learning: getting stuck. However, our early attempts felt dry and clunky, like talking to customer support. It could answer your questions, but it felt painfully bland. Instead of rich visuals, you’d get paragraph after paragraph of text.

It might have been helpful, but it damn sure wasn’t fun.

Finding the Fun

We want our learners in the mindset of messing around. We want people to ask half-baked questions. We want our learners to feel free enough to try new ways of seeing problems. And the tutor needed to get you into this playful state of mind at a glance.

As soon as we made an animated character for the tutor, everything changed. Our testers felt more comfortable asking “dumb” questions. They explained more of their thinking out loud. We could then give more helpful responses, because they told us more about where they were struggling.

Even better, students celebrated their wins more with Koji. They found more joy in learning!

Why Rive

All of those benefits came from adding high-quality character animation to the product. And this would have been completely impossible without Rive. Brilliant runs on iOS, Android, and the web, and Rive’s performant cross-platform runtimes were essential. We could build one high-fidelity character rig and use it everywhere. 

“Koji motivates my daughter to keep trying even when she doesn't know the answer— there's inherent trust built up due to how real Koji is to her.” — Zack Davenport, Design Director, Brilliant

Rive let the team build a character that could respond to live lesson states: waving, nodding, reacting differently depending on whether you breezed through a problem or fought for it. Koji has a full set of states that cover the arc of a tutoring session:

  • Idle — present and attentive, the baseline between interactions

  • Thinking — processing the student’s input, a moment of visible consideration

  • Encouraging — responding to effort, not just getting it right

  • Correct answer — a reaction that varies based on how hard the student worked to get there

  • Wrong answer — patient, not deflating

  • Celebration — for moments that genuinely warrant it

Getting a character this detailed from design into production also required tight coordination. The team used the Rive Agent to generate a handoff document directly from the Rive file — capturing state machine inputs, events, and naming conventions — so engineers had a reliable reference spec as Koji evolved.

The glow up

One detail turned out to matter more than expected: how should Koji speak? Koji doesn’t have a mouth, but without any animation, it wasn’t clear that Koji was the one talking!

We wanted to prototype a few different ways to animate Koji speaking, so we vibecoded a prototype environment that could generate speech audio, and then drove a Data Binding variable representing the volume of the audio. This means we could plug in any Rive, ask Koji questions, and see how the effect looked.

Once we found an effect we liked and wanted to refine it, we exposed even more parameters from the Rive file and connected them in the playground so that we could tweak them live. The setup couldn’t have been easier – we’d just point Claude at the Rive file, and it would set up the sliders to drive the parameters we cared about.

Koji has since become the backbone of our learning experience. He is the infinitely patient, deeply knowledgeable, and slightly goofy tutor that we think all learners deserve. Rive has been essential in making our vision real, and helping students all over the world find the joy in learning.

“It doesn’t feel as lonely when I get stuck.” — Riya, 10