Hi, I'm Jonathan

background midground foreground

About Me

Who I am

I’m a fourth-year Honours Computer Science student at the University of Waterloo, passionate about turning innovative ideas into impactful technology. My interests lie at the intersection of AI and full-stack development, where I strive to build solutions that make a meaningful difference.

Outside of coding, I’m an avid musician who plays piano, violin, drums, guitar, and bass, and I perform with my school’s jazz ensemble. I also enjoy sports like Ultimate Frisbee, which have strengthened my teamwork and strategic thinking.

Skills

I bring a strong foundation in programming with Python, JavaScript, Java, C, C++, SQL, R, Bash, and HTML/CSS, which allows me to adapt to a wide range of technical challenges. My experience extends across frameworks and technologies such as TensorFlow, PyTorch, React, Node.js, Express, Django, and MongoDB, where I’ve applied them to build scalable applications and machine learning solutions. I also leverage tools like Git, AWS, Firebase, Jupyter, Jira, Postman, and Figma to support efficient development and collaboration.

This versatile toolkit enables me to design and deploy dynamic applications, train and fine-tune machine learning models, and continuously improve the software development lifecycle.

Experience

Most recently, I worked as a Machine Learning Engineer Intern at StackAdapt, where I improved ad performance prediction models, streamlined A/B testing pipelines, and automated infrastructure tasks to cut down on overhead. At Huawei, I focused on computer vision and natural language processing, building models for ID detection and multilingual privacy protection, and deploying them for scalable, cross-platform use.

Previously, as a Lead ML Engineer at WAT.ai, I developed multimodal encoder-decoder models that converted website screenshots into functional HTML/CSS and presented this research at a national AI conference. I also gained full-stack development experience at PointClickCare, where I enhanced enterprise reporting systems and automated testing workflows to support thousands of end users.

My Work

My Projects

Ludwig

Ludwig can read any sheet music that you upload to him, then convert it to a MIDI file, convert that to playable notes on the piano scale, then play each of those notes on the piano with its fingers! You can upload any kind of sheet music and see the music come to life! Won Hack the North 2024!
Python, OpenCV, Raspberry Pi, TKinter
ludwig project
marketplace project

MuVision

An app that generates LaTeX code from handwritten math. Our algorithm leverages OpenCV to split images into individual characters, which our CNN classifies with an accuracy of 95%, ensembled with 3 pre-trained models.
TensorFlow, Keras, OpenCV, Python, Django, React, AWS

Lofidoro

A Pomodoro technique timer Google Chrome Extension. Published on the Chrome Web Store with 1.1k+ weekly users in 100+ countries. Garnered a 4.7 star rating and the “Featured” certification on the Chrome Web store.
JavaScript, HTML/CSS, Bootstrap
lofidoro project
marketplace project marketplace project

Marketplace

A classified advertising web app built with the MERN stack. Browse and filter ads or sign up to post ads of your own.
MongoDB, Express.js, React.js, AWS S3, Redux, Node.js, Postman, Bootstrap

Chordial

Chordial is a web app that generates and previews musical chord progressions to fit the melody that the user inputs into the piano roll.
React.js, JavaScript, HTML/CSS, Tone.js, BootStrap
Chordial project