Led the modernization of a legacy web application suite that had become increasingly difficult to maintain and improve without introducing new issues.
Diagnosed and addressed critical pain points across the entire stack, including local development environments, outdated frameworks, server architecture, and data structure.
Determined that incremental improvements were no longer sustainable due to architectural overcomplexity and lack of structure, leading to the strategic decision to initiate a full rewrite.
Rewrote the entire front-end and back-end of the application to ensure maintainability and scalability.
Restructured the MySQL database schema to improve clarity, consistency, and performance.
Migrated the codebase to a self-managed server for greater control and scalability.
Set up a clean and developer-friendly local development environment.
Implemented continuous integration (CI) to streamline the development workflow and improve deployment reliability.
Completed the full rewrite and migration with substantial performance improvements, significantly reducing load times and enabling rapid development of new features thanks to the simplified and modular architecture.
Full-Stack Web Developer
JobsMedia
September 2019
to December 2019
Maintained and improved both front-end and back-end functionality of an ATS and multiple job boards built with WordPress.
Full-Stack Web Developer (Personal Project)
Freelance
January 2019
to September 2019
Developed phase 2 of a music learning management system (LMS).
Refactored core architecture for scalability and testability.
Experimented with Vue.js, Lumen, Docker, and GitLab CI.
Backend Web Developer
TapClicks
June 2016
to December 2018
Developed and maintained third-party data integrations as a PHP backend developer. Fetched and processed data from APIs, CSV, and XML files, storing it in MySQL via ZendDB for use by the TapClicks core API.
Built a data integration code generator tool that automated ~90% of integration logic. Developed a web app interface for the product team to define specs and export JSON, which powered the generator—resulting in faster delivery, improved consistency, and fewer errors.
Transitioned to the platform team to support and modernize the core data analytics API. Helped migrate from a legacy architecture to a new Slim-based framework with a custom ORM.
Consolidated model-generation logic from legacy systems, introduced PHPUnit testing for data integrations, and eventually owned maintenance and development of the new core API.
Played a key role in the release process, debugging and resolving complex migration issues to ensure successful and timely deployments.
Extended the core API to support data fetching from both MySQL and Snowflake. Developed logic to dynamically parse and convert MySQL-specific expressions to Snowflake-compatible syntax.
Mentored junior and intermediate developers and was regularly consulted for planning and technical strategy due to broad system knowledge and a track record of delivering elegant, scalable solutions.
Full-Stack Web Developer
Freelance
2013
to June 2016
Montréal
Canada - Québec
Designed and built a custom learning management system (LMS) for music teachers, inspired by platforms like Dokeos and Chamilo.
Developed a unique feature allowing teachers to create interactive music theory exercises with dynamic question generation and algorithmic answer validation.
Engineered logic to support infinite question/answer permutations in music quizzes, handling concepts like chord construction, clefs, and note positions.
Built the platform using PHP, JavaScript, MySQL, and selectively used libraries/tools including Raphael.js, WebAudio API, and jQuery.
Focused on learning by doing, intentionally minimized external dependencies to gain deep understanding of core web technologies.