I will describe a new formalism developed together with Andersen and Orantin, called geometric recursion. Out of a small amount of initial data, and a functor E from a category of surfaces to a category of topological vector spaces, it constructs functorial assignments S -> \Omega_ S in E(S) by induction on the Euler characteristic of S. Examples of E include functions over the Teichmuller space, the topological recursion of Eynard and Orantin appears in this case as a projection of the geometric recursion, and a prototype of the geometric recursion formula are the Mirzakhani-McShane identities.