Name

Caden Sun

SchoolUniversity of Waterloo

Mathematics, class of 2030

Click to openTap to open

Contents

About me

Hi! I’m Caden, a mathematics student at the University of Waterloo, graduating in 2030. I’m interested in software engineering, machine learning, and AI.

This summer I built an AI calling agent at ProCogia. Now I help Professor Jimmy Lin’s Castorini group with retrieval research, and in winter 2027 I join Bits In Glass as a machine learning engineer.

Caden in a cream hoodie and a black apron, pulling a face and holding out a plate of little white dough balls.

Experience

Machine learning engineer at Bits In Glass

Incoming, winter 2027

A global boutique technology firm that designs, builds and runs enterprise AI, with the data, processes and platforms around it.

Bits In Glass

AI engineering intern at ProCogia

May to August 2026

At ProCogia I built an AI calling agent and was responsible for designing and implementing the system behind it. It was my first time working in Vancouver, and I got to see all the cool views and mountains. My favourite part of the city was Kitsilano.

Some of my favourite photos I took
A pink and orange sunset over the water, freighters at anchor, mountains in silhouette and two people wading in.Downtown Vancouver's towers across the harbour from the seawall, under a grey sky and maple leaves.A hazy sun over calm water, its light on the waves, and a windswept pine on the rocks.
ProCogia

Research assistant to Professor Jimmy Lin

June 2026 to now

Testing multi-stage retrieval on TREC benchmarks in the Castorini group, from BM25 to listwise LLM reranking. Folded 24 near-duplicate tests into 5 suites merged into Pyserini, and fixed a caching bug that forced a 2 GB download on every fresh install.

Python, BM25, LLM reranking, TREC

My favourite paper I’ve read
Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphsYu. A. Malkov and D. A. Yashunin, arXiv:1603.09320
University of Waterloo

ML engineer at Wat Street

January to August 2026

Volatility forecasting with Waterloo’s quantitative finance team: a pipeline from raw S&P 500 OHLCV data to 10 engineered features, and the PyTorch module that feeds a graph attention network into an LSTM across 500 stocks.

Python, PyTorch, pandas, NumPy

Wat Street

Projects

Flight Price Predictor

Data engineering, XGBoost, SQLite

The fare checker: a plane over the clouds above a ticket from JFK to Tokyo Narita for 12 December 2026, with a typical fare of $1,296 and a range of $1,107 to $1,485.

Predicts round-trip flight prices with an XGBoost model. A pipeline collects about 4,000 flight offers a day into a SQLite database to train it.

Cat Classifier

Computer vision, PyTorch

Four cats, one judge

The judge: Ragdoll, 84% sure.The judge: Ragdoll, 99.58% sure.The judge: Not a ragdoll, 99.97% sure.The judge: Not a ragdoll, 99.6% sure.

A CNN fine-tuned in PyTorch that decides whether a cat is a ragdoll. It reaches an F1 score of 0.83.

F1
0.832
Precision
0.800
Recall
0.867

Chess Bot

Game-tree search, Flask, React

A chess bot you can play in the browser. The engine is written from scratch in Python with alpha-beta search, behind a Flask API and a React board.

World Cup Goal Predictor

Linear regression, NumPy, gradient descent

Dot chart of goals per match at each men’s World Cup from 1930 to 2022: the six tournaments from 1930 to 1958 averaged 4.25, peaking at 5.38 in 1954, while all sixteen since 1962 stayed below 3, averaging 2.59.

Predicts the goals in a World Cup match with linear regression written from scratch in NumPy and trained by gradient descent.