This story was originally published on HackerNoon at: https://hackernoon.com/what-building-a-self-paced-math-system-taught-me-about-software-design. An adaptive math platform reveals why dependency graphs, observability, and verification matter as much in education as they do in software engineering. Check more stories related to society at: https://hackernoon.com/c/society. You can also check exclusive content about #edtech, #ai-in-education, #adaptive-learning-systems, #mastery-based-learning, #dependency-graph-learning, #ai-tutoring, #edtech-software-design, #concept-dependency-mapping, and more. This story was written by: @matthewyip. Learn more about this writer by checking @matthewyip's about page, and for more stories, please visit hackernoon.com. I built an automated math learning system called Mathewmatician's Dictionary, and the deeper I went, the more it stopped feeling like an education problem and started looking like a software design problem. Three lessons carried over directly. First, when a student fails a topic, the real cause is almost always an unmastered prerequisite several chapters back, the same way a UI bug often lives in the data layer. Concepts have dependencies, like a build graph, so I stopped organizing learning by chapter and started organizing it by concept. Second, mastery before movement is just test-driven development for humans: a concept has to pass its own tests cleanly before anything built on top of it can run, otherwise you accumulate the learning equivalent of technical debt. Third, real adaptive pacing is a job queue, not a difficulty slider, and it only works if your input signal is honest, which is why school report cards are useless and a separate clean assessment layer is essential. On AI: it is excellent at generating practice problems and explanations, but terrible at judging whether a student genuinely understands, so the component that generates and the component that verifies must never be the same, for the same reason you do not let a class be both writer and auditor. The future of math education is fewer teachers doing higher-leverage work, with the basics offloaded to systems that actually understand mastery instead of performing it.