Symbolic regression is a search process that looks for both the shape and the parameters of an equation at once, instead of assuming the shape up front. That's the core idea behind Graphiti: you don't tell it "this is a sine wave" — you just draw, and the engine figures out what family of equation your stroke most resembles.
What is curve fitting?
Curve fitting is the process of finding the parameters of a chosen equation that make it pass as closely as possible through a set of points. If you already know your data looks like a line, curve fitting finds the best slope and intercept. If you know it's a parabola, it finds the best a, b, and c in y = ax² + bx + c. Classic curve fitting — the kind taught in an intro statistics class — requires you to pick the model first.
What is symbolic regression, and how is it different?
Symbolic regression removes the requirement to pick the model first. Instead of fitting one fixed equation, it searches across many candidate structures — lines, polynomials, trig functions, combinations of them — and scores each one on two things: how well it fits your points, and how simple it is. That second part matters: a wildly complicated equation can always be bent to match a stroke almost perfectly, but it's not a useful or generalizable description of the shape you drew. A good result balances accuracy against simplicity.
| Curve fitting | Symbolic regression |
|---|---|
| You choose the equation family first (e.g. "fit a line") | The search evaluates many equation families at once |
| Finds the best parameters for that one model | Finds both the model structure and its parameters |
| A bad initial guess about the shape gives a bad fit | No guess required — the shape is part of what's being searched for |
| Output is a fixed formula you already knew the shape of | Output can surprise you with a shape you didn't expect |
The three steps, in more detail
-
Draw the curve
Sketch a shape on the axis canvas — freehand, in one stroke or a few. Graphiti reads the path as a sequence of points, not a picture, so what matters is the shape you trace, not the pixels.
-
Graphiti searches for a fit
The engine tests candidate equation families against your points, scoring each by accuracy (how close the curve lands to your stroke) and complexity (how many terms it takes to describe it). The candidate with the best balance wins.
-
Review the fit
You'll see the winning equation, a fit score, and how many terms it took — so a clean 98% match to a simple parabola reads differently from a messy 70% match forced into something complicated.
-
Share the mathgram
The equation, your original stroke, and the fit score get composed into a card — the "mathgram" — sized and styled for sharing straight to TikTok or Instagram.
What makes a fit "good"?
Two numbers matter more than any other: the fit score (how closely the equation's curve tracks the points you actually drew) and the term count (how many pieces the equation needs). A wobbly hand-drawn circle might score 94% as a true circle and 99.9% as some twelve-term polynomial nobody would call "a circle" — Graphiti is built to prefer the honest, simple answer over the technically-tighter but meaningless one. This is the same idea statisticians call parsimony, or Occam's razor applied to equations.
What shapes and curves does it support?
Graphiti covers the equations most people encounter in school and beyond: lines, parabolas and other polynomials, circles and ellipses, sine and cosine waves, and spirals. See the gallery for real, correct example equations for several of these, rendered from their actual formulas. For launch-specific scope and limits, check the FAQ.
From equation to mathgram
A mathgram is designed to be the whole idea in one image: your original stroke, the equation Graphiti found, and a fit score, laid out as a single card. The goal is that someone scrolling past can understand the "trick" — a doodle became real math — in under two seconds, without needing to open the app.
Want to try it first?
Graphiti hasn't launched yet. Join the waitlist to be notified the moment it opens up.
Join the waitlist