• Software Developer
    May 2021 - Present
    Distributed Digital Music Archives & Libraries Lab (DDMAL), McGill University
    Montreal, Quebec
    • Led development of Neon, a browser-based music score editor built in vanilla TypeScript, delivering interactive features such as zooming, dragging, highlighting, and editing under an Agile/Scrum workflow. Reduced manual correction time by 50%+ for end users. [Demo Videos]
    • Implemented engraving and editing toolkit in the Verovio (C++) codebase to enable real-time SVG rendering and interactive editing for the notation system used by Neon.
    • Built Cress in TypeScript,an table-like tool for mapping glyphs to MEI, and fixed UI and algorithms for the Optical Music Recognition website Rodan in Python and JavaScript.
    • Designed and implemented a fully responsive web UI for UMIL, a multilingual instrument-lexicon platform, using TypeScript, Vite, Bootstrap, Django, PostgreSQL, and Solr with a focus on usability and accessibility.
    • Integrated Google Analytics and Google Tag Manager to support product usage analysis.
    • Established CI/CD pipelines with GitHub Actions for automated formatting, testing, link checking, rebasing, and scheduled jobs, improving code quality and deployment reliability.
    • Deployed staging/production services with Docker and Nginx, including email verification workflows with rate limiting via AWS SMTP.
  • Frontend Developer
    Dec. 2025 - Jan. 2026
    Trinity College London
    United Kingdom (Remote)
    • Owned end-to-end development of an interactive React + TypeScript score visualization component, delivering a responsive overlay system for learner feedback in production.
    • Designed robust state management for async loading and annotation filtering, enabling reliable highlights, shadow notes, and color-coded cues.
    • Optimized performance with memoized event processing and resize-safe reflow for smooth interaction at scale.
  • Software Developer
    Aug. 2025 - Sep. 2025
    Vortexpert Inc.
    Montreal, Quebec
    • Built a real-time dashboard with React and TypeScript, leveraging Redis pub/sub to broadcast updates via Socket.IO to a centralized state store.
    • Developed the global store using React's useSyncExternalStore pattern for concurrent-safe subscriptions, incorporating runtime Zod validation to ensure data consistency, state deduplication to minimize unnecessary re-renders, and error boundaries to enhance UI resilience.
    • Implemented automated tests with Jest + React Testing Library, simulating real-time push events to verify state updates and UI behavior.
  • RADLab AI Research Intern
    Fall 2024
    Avid Technology
    Montreal, Quebec
    • Built prototypes and REST APIs for music applications, including audio-to-score alignment in Sibelius and music structure segmentation in Pro Tools.
    • Integrated machine learning models into user-facing workflows, bridging research prototypes and production tools by incorporating product-specific context to optimize algorithm behavior for real-world scenarios.
  • Software Developer
    Mar. 2025 - May 2025
    Digital and Cognitive Musicology Lab (DCML), École Polytechnique Fédérale de Lausanne (EPFL)
    Switzerland (Remote)
    • Proposed and implemented improved score annotation visualizations and UI/UX for the interactive Schenkerian analysis application MuseReduce , using vanilla JavaScript, SASS, D3.js, and Vite, significantly enhancing overall user experience.
  • Machine Learning Developer
    Mar. 2022 - Mar. 2023
    EERS Global Technologies Inc.
    Montreal, Quebec
    • Configured optimal AWS SageMaker settings, and documented infrastructure architecture.
    • Built ML models and data pipelines in Python and MATLAB for audio-based health applications.
    • Authored deliverables, and collaborated with hardware and real-time developers for product prototyping.
  • Lead Bartender
    Jun. 2024 ‐ Present
    Griffintown Piano & Art Bar
    Montreal, Quebec
    • Managed three bars within the venue, overseeing bar operations, staffing, and ensuring smooth service delivery.
    • Led and coordinated a team of bartenders, providing training and guidance on performance, drink preparation, and customer service.
    • Responsible for sales reporting, inventory management, and overseeing bar setups to ensure operational efficiency throughout events.
  • Bartender
    May 2023 - Jun. 2023
    Escondite Vieux Port
    Montreal, Quebec
    • Mixed drinks, stocked supplies, and maintained clean drinkware.
  • Ecole du Bar de Montreal
    Apr. 2023
    Diploma
    Montreal, Quebec
    • Theory on beer, wine, spirits, liquor, and cocktails.
    • Practical training on free pour and classic cocktails.
  • Audio and Video Engineer
    Jul. 2019 - Aug. 2019
    Heilongjiang Broadcast TV Station
    Heilongjiang, China
    • Responsible for the audio and video recording of eight TV programs, including Happy Poker Party and Essence of Longjiang.
    • Responsible for the audio and video during three live broadcasts, including Weekend Tour of Longjiang and Golden Dreams.
    • Participated in the “Heilongjiang Province Celebration of the 70th Anniversary of the Founding of New China” press conference and live broadcast.
  • Audio Assistant
    Aug. 2018 - Sept. 2018
    Jilin People"s Broadcasting Station
    Jilin, China
    • Installed new orchestration system for the recording system, debugged recording system, and renovated the recording studio.
    • Arranged and recorded the original song "Happy Village Convention."
    • Transcribed the song "The Best Stage."
  • Audio Editor
    Mar. 2017 - Jul. 2018
    Communication University of China Radio Station
    Beijing, China
    • Recorded, edited, and broadcast radio programs.
    • Synchronized all programs to the online platform.
    • Produced 38 radio programs with an average duration of 20 minutes each.