Reflection is a process of converting experience into understanding. Through the process of reflection, students actively engage in sense-making around an experience; situating it within their existing experiences, beliefs, and knowledge. Though many theorists have advocated for integrating more reflection into learning experiences, reflection is challenging to implement and evaluate in the classroom. Currently, there is a dearth of reflection support tools. This dissertation introduces an ecology of data-driven reflection support tools that provide scaffolding for reflection in the classroom. By automatically capturing students' behaviors and visualizing them for reflection, these tools help students obtain new insights, increase their agency, and broaden their perspective. Consistently using these tools longitudinally could also help students develop and refine their reflective practice. Two data-driven reflection support tools, BloomMatrix and IneqDetect, were designed, implemented, and deployed in computer science classrooms to help students reflect on their behaviors and experiences. BloomMatrix crowdsources students' self-reported cognitive states and IneqDetect records and visualizes students' conversations. These tools and students' reflective writing assignments were evaluated using a mixed-methods approach to determine the effect that they had on students' reflections and reflective practices. These in-the-wild studies shed light on the opportunities and challenges presented by reflection and reflection support tools.