
During my final semester at Cégep de Rosemont, I contributed to Progression, a large-scale programming learning platform similar to "LeetCode" developed by the department. Working within a team of seven developers, our mission was to enhance the educational experience by adding a visual dimension to problem-solving. The goal was to enable students to move beyond just reading code and instead understand the dynamic behavior of their algorithms in real-time.
I specialized in the interface logic layer responsible for translating execution data into visual representations. I developed the transformation modules that retrieve states from user-submitted code to generate interactive animations. Specifically, I designed the visualization for sorting algorithms (represented by animated blocks) and created a dynamic grid system for pathfinding problems, where the path is traced in real-time while identifying obstacles and traps.
Project Gallery

My approach focused on creating a seamless bridge between the execution engine and the rendering engine. Working in a large-scale environment, I had to ensure that retrieving debugging data did not impact the application's performance. I relied on a reactive data structure so that each step of the user's algorithm triggers a precise interface update, transforming abstract data streams into a consistent and educational visual experience.
More Projects