Courant’s theorem implies that the number of nodal domains of a Laplace eigenfunction is controlled by the corresponding eigenvalue. Over the years, there have been various attempts to find an appropriate generalization of this statement in different directions. We propose a new take on this problem using ideas from topological data analysis. We show that if one counts the nodal domains in a coarse way, basically ignoring small oscillations, Courant’s theorem extends to linear combinations of eigenfunctions, to their products, to other operators, and to higher topological invariants of nodal sets. We also obtain a coarse version of the Bézout estimate for common zeros of linear combinations of eigenfunctions. We show that our results are essentially sharp and that the coarse count is necessary, since these extensions fail in general for the standard count. Our approach combines multiscale polynomial approximation in Sobolev spaces with new results in the theory of persistence modules and barcodes.