Experiences

Machine Learning Developer

GPTZero
Sep 2024 - Dec 2024, Toronto, Canada

More info to come

GPTZero Logo
Boosted.ai Logo

Quantitative Developer

Boosted.ai
Jan 2024 - Apr 2024, Toronto, Canada

Boosted.ai provides ML-based trading and market analysis algorithms for institutional clients and investment advisors. As a quantitative developer, I worked on the underlying algorithm for the insights.boosted.ai web platform and the underlying ML/analysis algorithm. Some projects I took on include factor models, hedge baskets, and macro AI commentary.

LLM Researcher

University of Waterloo
Nov 2023 - Ongoing, Waterloo, Canada

Currently, I am leading a thesis paper on applying Direct Preference Optimization techniques to improve the accuracies of code generation tasks using LLMs. Click on the title to view more details or look at other projects that I have worked on!

University of Waterloo Logo
Wilfrid Laurier University Logo

LLM Researcher

Wilfrid Laurier University
Sep 2023 - Ongoing, Waterloo, Canada

Currently, I am leading a thesis paper on applying LLMs to market sentiment predictions on market news. In contrast to previous research, this paper will take a deeper dive into the technical aspects of LLMs in hopes of improving accuracy against even the highest-performing general-purpose model such as ChatGPT4.

Data Scientist

CIBC - Gallant MacDonald
Jan 2023 - Apr 2023, Toronto, Canada

Gallant MacDonald team is a multi-family office within Canadian Imperial Bank of Commerce (CIBC) – Wood Gundy. During the term, I developed numerous software tools for data processing, manipulation and analysis. Moreover, I partook in numerous due diligence meetings with portfolio managers from big hedge funds such as TCC, Group RMC, and Hamilton Lane to learn about their strategy and whether they would be a good fit for the team's clients or not.

Gallant MacDonald Team's Logo
Doodle Mobile's Logo

Android Software Engineer

Siemens Healthineers
Jan 2022 - Apr 2022, Ottawa, Canada

Siemens Healthineers is a medical device provider. During the role, I developed and maintained the in-house android program NXS for epoc Blood Analysis System’s host-4 devices using Android Studio and Java. This project employs an Object-Oriented Design that encapsulates functionalities into different modules.

Product Manager

Doodle Mobile Ltd.
May 2021 - Aug 2021, Beijing, China

Doodle Mobile Ltd. is a mobile game developer that has been active since 2011. The current app portfolio contains over 30 games. As a product manager, I partook in the development of:

  • 1.4.5 - 1.5.0 and iOS version of Crossword Quest (ranked around 20 for daily download and 45 for revenue on Android Word Games with 5M+ downloads).
  • 1.5.0 to 1.5.9 version of Wordsearch (ranked around 10 for daily download on Android Word Games with 10M+ downloads).
Doodle Mobile's Logo

Skills

Projects

This is a new ongoing project carried out with three friends. We are developing a website and mobile apps that leverage GPT or other NLP models' capabilities to create customized travel itinerary plans. After an initial survey, they app will present a detailed itinerary plan based on user input. Should the user be dissatisfied with any of the details, they can use our interactive chat function to change any portion of the itinerary plan.

The project contains 3 major components: the frontend interface created with React that receives user input and make RESTful API calls to our backend server; a backend server built with Golang that receives and handles incoming API calls, and manages user account and database; and a NLP component that focuses on prompt engineering, interacting with NLP model such as GPT, and processing received response from the NLP model into more interactive content that includes images, map routes, etc.

This is an LSTM model that predicts the short-term price of four commercial banks in China. The model arises from Yufeng Chen, Jinwang Wu, and Zhongrui Wu. The daily closing price of four banks is trained with a multi-step output static prediction method to project the daily closing price of the next five days. Currently, the model has a mean absolute error of 0.087 and a mean square error of 0.012.

Original Paper
Code

Developed a MLP model that predicts the short term price movement of the S&P 500 market index. The model arises from that developed by Xiao Zhong and David Enke. 50+ data sets are pre-processed with PCA to reduce the dimensionality. Then a three-layered feedforward ANN structure with tangent sigmoid transfer function was used to output the probability of the movement of the index.

Original Paper
Code

Actively running a $200,000 portfolio for my parents; since real money is put into action, I conduct extensive research and due diligence before each trade. Currently, the portfolio consists of Fixed Income and Equity Long strategies. I also use the MLP algorithm mentioned above to mitigate risk. When the MLP model predicts market downturn, a put option is bought for the underlying asset.

This is an AI hackathon where each team needs to propose a solution that tackles a particular issue identified with NLP technology. Our team decided to focus on the career development prompt, and proposed a product that provides university-specific resources to students looking to advance their careers. During the competition, we were given access to Open AI's API features and created a simple demo of how the newest transformer models may be used in our proposed solution.

This is a Data Science/AI hackathon where teams receive three data sets to analyze and study. Afterward, the teams must create a model that can predict unlabeled data. During the hackathon, our team tried models such as linear regression, logistical regression, MLP, and random forest. Random forest is used at last in the end with F1 score = 71.89.

Used C# and Unity to create a 2D indie game with the school’s team during Global Game Jam Competition.

This very website, written in HTML & CSS, and hosted on Amazon Webservice (AWS).

Used Python and Tkinter library to create the control algorithm and GUI of a self-made octa-drone and several vehicles in the maker-space club.

PS: sadly, it crashed 5 seconds after the first attempted take off.

Used Java to create an encryption and decryption application that allows users to encrypt messages with different encryption algorithms such as SHA256 or simple substitution.

Code

Used Racket, a dialect of Lisp, to create a compiler that turns WLP4 (a simplified version of C) code into MIPS machine code.

With engineers from Doodle Mobile Ltd., using Java, created a game level algorithm that employed many techniques from nodal networks to produce high-quality levels.

Used C++ to independently create a card game “Straights” as the final project for CS246 class.

While working at Doodle Mobile Ltd., created Python web crawlers that legally download data from websites, including useful information to the company or information about our competitors’ products.