Runnable sampleInternshipFictional content for layout demonstration
Data scientist and ML engineer
Liam designs the data pipelines and models that power product decisions.
Applied Mathematics student building ML models and analytics dashboards. Available for data roles from September 2027.
Toronto, CanadaOpen to relocationEnglish · Mandarin
Experience
Evidence, not adjective soup.
CoreAI Systems
Machine Learning Intern
Fine-tuned transformer models for sentiment classification, raising F1-score by 12%.- Clear scope and personal contribution
- Decision rationale and shipped result
MetroTransit Authority
Data Analyst
Built real-time passenger flow prediction models to optimize peak-hour dispatch timing.- Clear scope and personal contribution
- Decision rationale and shipped result
Applied Statistics Group
Research Intern
Analyzed demographic survey responses and cleaned multi-gigabyte datasets for publication.- Clear scope and personal contribution
- Decision rationale and shipped result
Selected projects
Projects open like compact case studies.
Python, XGBoost, KafkaFlowPredict
01 · Project
FlowPredict
Transit arrival forecastingRead decisionsPyTorch, React, D3.jsModelInspect
02 · Project
ModelInspect
Visual transformer attention mapRead decisionsPython, Spark, AirflowCleanPipe
03 · Project
CleanPipe
Automated anomaly detection pipelineRead decisionsEducation
BSc Applied Mathematics & CS
University of British Columbia · 2023–2027Human-computer interaction, product systems, responsible AIAwards
Best Data Product Prize
UBC DataScience hackathon · 2025Selected for research-to-product work serving campus accessibility.Skills
PythonPyTorchSQLSparkPandasScikit-Learn
“Liam builds pipelines that scale cleanly and handles data cleaning with obsessive care.”
Private companion
Application tracker
Researching
TorchModels · GithubNext step saved
Airflow Pipes · RepoNext step saved
Applied
CoreAI Systems · MLNext step saved
Data Lake · ClusterNext step saved
Interviewing
MetroTransit · FlowsNext step saved
Decision
Offer reviewNext step saved
One candidate. One coherent story.