Caden Sun
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.

Experience
Machine learning engineer at Bits In Glass
A global boutique technology firm that designs, builds and runs enterprise AI, with the data, processes and platforms around it.

AI engineering intern at ProCogia
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.




Research assistant to Professor Jimmy Lin
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

ML engineer at Wat Street
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

Projects
Flight Price Predictor

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.
Live demo for Flight Price PredictorGitHub for Flight Price Predictor
Cat Classifier
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
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

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