Fifteen years ago, research started on SQL-Tutor, the first constraintbased tutor. The initial efforts were focused on evaluating Constraint-Based Modeling (CBM), its effectiveness and applicability to various instructional domains. Since then, we extended CBM in a number of ways, and developed many constraint-based tutors. Our tutors teach both well-and ill-defined domains and tasks, and deal with domain-and meta-level skills. We have supported mainly individual learning, but also the acquisition of collaborative skills. Authoring support for constraint-based tutors is now available, as well as mature, well-tested deployment environments. Our current research focuses on building affect-sensitive and motivational tutors. Over the period of fifteen years, CBM has progressed from a theoretical idea to a mature, reliable and effective methodology for developing effective tutors.