About Galois
Inspiration
Galois was inspired by the work of 3Blue1Brown, whose mathematical animations demonstrate how powerful visual intuition can be when learning abstract concepts.
Watching a mathematical idea unfold through moving graphs, geometric transformations and carefully constructed animations can reveal relationships that are difficult to understand through equations alone.
But traditional educational videos have a fundamental limitation: you cannot interrupt them, manipulate the mathematics or ask the animation a question.
We asked ourselves:
What if the clarity of a 3Blue1Brown-style explanation could be combined with the flexibility of conversational AI?
That question inspired Galois, named in honour of the mathematician Évariste Galois.
Our goal is to transform mathematical learning from a passive experience into an interactive conversation with the mathematics itself.
What It Does
Galois is an AI-powered visual mathematics tutor that transforms natural-language questions into animated, interactive explanations.
Rather than presenting a conventional chatbot response alongside a graph, Galois places mathematics at the centre of the experience.
When a student asks a question, the AI constructs a mathematical storyboard that is rendered as a cinematic animation directly in the browser.
Students can:
- Watch mathematical concepts unfold through synchronised animations and narrative explanations.
- Pause, replay and navigate through the explanation.
- Manipulate mathematical objects, including functions, tangent points and vectors.
- Ask follow-up questions about what they are seeing.
- Receive explanations that adapt to the current state of the visualisation.
For example, when exploring why the derivative of (\sin(x)) is (\cos(x)), students can watch the tangent move along the sine curve and observe its slope tracing out the cosine function.
They can then pause the animation, drag the tangent to a different point and ask, "Why is the slope negative here?"
Galois uses the student's current visual context to generate a targeted continuation of the explanation.
The result is not simply an AI that explains mathematics, but an AI that makes mathematics something students can interact with.
How We Built It
We built Galois around Claude's API, combined with a mathematical computation and browser-based animation system.
Our architecture consists of three main components.
1. AI-powered visual storytelling
Claude acts as the mathematical director, interpreting the student's question and generating a structured storyboard containing visual actions, mathematical relationships and explanatory captions.
2. Mathematical verification
A Python backend built with FastAPI integrates SymPy, NumPy and SciPy to perform symbolic and numerical calculations. Mathematical claims and scene parameters are validated before being passed to the visualisation engine.
3. Interactive animation engine
Our frontend uses React, TypeScript and SVG-based rendering to transform AI-generated storyboards into interactive mathematical scenes.
Unlike traditional Manim workflows, our main animations are not exported as MP4 files. They are rendered directly in the browser, allowing students to pause, scrub, manipulate objects and continue exploring.
We also incorporated an existing interactive-widget system and sandboxed generated visualisations to support questions beyond our dedicated animation scenes.
Challenges We Faced
Our biggest challenge was moving beyond a conventional AI chatbot interface.
Initially, Galois generated mathematical explanations accompanied by interactive graphs. Although useful, the experience felt too similar to existing AI assistants.
We realised that the interface itself needed to become the explanation.
Another significant challenge was combining cinematic animation with real-time interactivity. Traditional animation systems follow predetermined timelines, but we wanted students to interrupt an animation, modify its mathematical state and continue naturally.
We addressed this by developing a deterministic, timeline-based animation engine that supports both playback and interaction.
Mathematical reliability was equally challenging. An attractive animation is not valuable if it communicates incorrect mathematics. We developed validation mechanisms to check mathematical relationships, scene parameters and supported transformations, while recognising that natural-language explanations still require further verification.
Finally, we had to balance visual quality, AI generation latency and the flexibility to handle different mathematical subjects.
What We Learned
Building Galois taught us that generating a visualisation is not the same as generating an effective visual explanation.
The order in which ideas appear, the motion of mathematical objects and the synchronisation of narration all contribute to understanding.
We also learned that the most valuable role of AI is not necessarily to generate every visual element from scratch. Instead, AI can direct a reliable mathematical animation engine, combining flexible reasoning with structured, reusable visual primitives.
Most importantly, we discovered that combining mathematical correctness, cinematic storytelling and real-time interaction presents a different challenge from building a conventional conversational assistant.
What's Next
Our current prototype supports AI-directed animations for functions and derivatives, as well as two-dimensional linear transformations.
Our next ambition is to expand Galois into a more general visual learning environment, with support for calculus, geometry, differential equations, linear algebra and physics.
We also want to develop more sophisticated mathematical animation primitives, deeper adaptive teaching capabilities and richer ways for students to experiment with concepts.
Our vision is simple: make mathematical understanding as intuitive as watching an excellent explanation, but as flexible as having a personal teacher who can respond to every question.
Built With
- anthropic
- api
- claude
- code
- css
- css3
- fastapi
- html5
- javascript
- katex
- mafs
- math.js
- motion
- numpy
- playwright
- python
- react
- scipy
- svg
- sympy
- tailwind
- typescript
- vite
- vitest