Hi, I'm Jonathan

background midground foreground

About Me

Who I am

I'm a dedicated software developer in my third year of the Honours Computer Science program at the University of Waterloo. Fueled by a passion for transforming innovative ideas into impactful projects, I'm deeply committed to bridging AI and full-stack development for meaningful technological contributions.

When I'm not coding, I love playing instruments like the piano, violin, drums, guitar, and bass. Sports, especially Ultimate Frisbee, teach me valuable skills like teamwork and strategy.

Skills

I have a strong foundation in programming languages, including Python, JavaScript, Java, C, C++, SQL, R, Bash, and HTML/CSS, enabling me to tackle diverse technical challenges. My experience spans frameworks and technologies such as TensorFlow, PyTorch, React, Node.js, Express, Django, and MongoDB, where I’ve delivered efficient and innovative solutions. I am proficient in using tools like Git, Firebase, AWS, Postman, Figma, Jira, and Jupyter to streamline workflows and enhance collaboration.

With this versatile skill set, I excel in creating dynamic applications, training machine learning models, and optimizing software development processes.

Experience

During my most recent co-op term as a Machine Learning Engineer Intern at Huawei, I created a synthetic image dataset to train an ID card detection model, achieving an impressive F1 score of 91. Additionally, I developed multilingual Named Entity Recognition (NER) models to detect private information in text.

In previous co-op terms at PointClickCare and Cynorix, I worked on full-stack development using the MERN stack and Java with Spring Boot. At WAT.ai, I built encoder-decoder models for converting website images to HTML and CSS, exploring Transformer and LSTM-based decoders.

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