Steam Game Recommender
Find a connection.
Choose a genre to explore a simplified recommendation graph.
Yiwei or Levi. Click my name to switch.
Code, curiosity, and a little rhythm.
I’m a second-year Computer Science student at U of T’s St. George campus. I build with Python, Java and R. Outside computing, I play drums, help people work through maths, and enjoy turning an idea into something we can share.
From a game recommendation graph to an adventure engine: learning how the pieces fit together.
A few things I’ve built with classmates.
Find a connection.
Choose a genre to explore a simplified recommendation graph.
Choose your path.
A miniature browser scene inspired by the idea of a campus adventure. Try a path.
Portfolio demo · separate from the original Python gameYou find a notebook outside a campus library. On the first page: “The best questions lead somewhere.” What do you do?
Follow the workflow.
Exploring global electrification and poverty through cleaning, statistical analysis and visual communication.
Clean and prepare data so that the analysis begins with consistent, usable inputs.
Questions I’ve explored through
mathematics and experiment.
I investigated how Taylor expansions and remainder terms can simplify complex functions through polynomial approximation, with a focus on limits and error analysis.
The Application of Taylor Formula in Limits and Approximation
Highlights in Science, Engineering and Technology, Volume 72, pages 891–898 (TPCEE 2023).
For my IB Physics Extended Essay, I designed and conducted an independent experiment investigating the relationship between viscosity and temperature.
I collected experimental data, performed quantitative analysis, evaluated measurement uncertainties, and communicated the investigation in a 4,000-word research paper.
In XLAB’s New Energy Electric Vehicle workshop in China, I worked with a partner to build a supercapacitor and a lithium iron phosphate coin cell under supervision.
I came into the week without an IB Chemistry background. Studying unfamiliar material, asking questions, and sharing the work with a partner helped me connect the theory to a physical device.
My lab notes cover electrode preparation, cell assembly, charge–discharge testing, and presenting the results. I received XLAB’s Excellent Student recognition for the programme.

A logo I designed.
My initials, drawn in Adobe Illustrator.
University of Toronto
St. George
Software projects
AI / ML foundations
Team collaboration
You can call me Levi.
My interest in computing sits alongside a longer interest in mathematics. Before university, I explored Taylor expansions and approximation, conducted a physics experiment for my IB extended essay, and co-founded a Math Lunch Club at school in Rome.
At U of T, I’ve been putting that analytical background into practice through software and data projects. I enjoy the work of connecting the pieces: data structures, application logic, visualizations, and the code that makes them work together.
I’m still early in my AI/ML journey. I’m looking for a technical team where I can contribute my programming experience, ask questions, and learn from other people.
Outside coursework, I’ve co-founded a jazz band, played drums with Royal Winds, and worked behind the lighting desk for school theatre. Music has taught me to listen closely, prepare carefully, and adapt when something changes. I also enjoy visual design—the logo here is my own work in Adobe Illustrator.
Honours BSc · Computer Science Specialist
St. George · 2025–2029 (expected)
Data structures · Algorithms · Software design · Testing & verification · Statistical data analysis · Computational methods
Teaching a concept. Keeping time.
Helping a team make something happen.
A lot of my learning has happened away from a desk. These are the clubs, performances and community projects I’ve been part of—from school in Rome to experiences in China.
Making maths easier to ask about.
I co-founded a Friday lunch club and supported the Grade 10 group with IB-style problems and individual explanations.
Alongside our group sessions, I focused on one-to-one support: finding another way to explain a question when the first explanation didn’t click. Our project plan also assigned me publicity and support for Grade 10 and 11 students.
Teaching tested how well I understood the material myself. It also taught me that one explanation will not work for everyone.
Bringing a school community together.
I served on my National Honor Society chapter’s executive board and helped organize a Thanksgiving food drive for Binario 95 in Rome.
Our team partnered with Binario 95, a social hub supporting people experiencing homelessness, to collect food donations from the school community. I helped communicate service initiatives and supported school volunteer activities.
Public Relations Officer, October 2023–June 2024. Chapter member, September 2021–April 2025.
Design that helps a message reach people.
I created educational imagery for a team social-media campaign about dementia and common misconceptions. Our most-viewed team post received over 2,000 views.
I was responsible for the main educational images. I used AI-generated imagery within the design process, while our group divided research, writing, design and distribution across social platforms.
We considered how composition, colour and readable text affect whether someone stops to engage with a post. Mentor feedback helped me see that visual appeal and clarity need to work together. The reach figure describes our team’s post, not an individual result.
Finding a new rhythm together.
I co-founded a student jazz band, rehearsed weekly, and performed at the IB Art vernissage.
Jazz was a new style for me even though I already played drums. I practised throughout the semester and worked with the other musicians to prepare for our school performance.
Being responsible for the rhythm pushed me to prepare consistently and listen to the whole band, especially when performing in front of an audience.
Playing as part of a larger sound.
I played drums in my school’s Royal Winds ensemble, rehearsing with other musicians and performing at concerts and graduations.
My activities records describe spring and Christmas concerts as well as graduation performances. Regular rehearsals meant fitting my part into the ensemble and following shared cues.
Learning to listen in real time.
Beyond school ensembles, I played with a community band in Italy and continued developing my drumming through lessons and practice.
The group’s lineup changed from week to week. Playing with different musicians helped me adapt, communicate and become more comfortable with improvisation.
Behind the scenes, on cue.
I helped operate stage lighting for school productions of Animal Farm and Grease.
I learned the lighting console, followed the script’s cues, and coordinated timing and transitions with the action on stage.
When the lighting desk had a problem during a performance, a teammate and I used a planned blackout to restart it. The experience taught me how much preparation and teamwork sit behind what an audience sees.
A lunchtime space to play and improve.
A friend and I hosted a school lunchtime basketball club where students played together and shared skills.
We learned from each other through practice and games. Helping host the club gave me another way to bring people together outside a classroom.
Making an activity welcoming.
I helped run a basketball station for students of different ages during Active for Abana.
A teammate and I planned a game of Knockout, prepared the instructions, and guided students through the activity. The experience involved both planning the game and adapting how we explained it.
Supporting language learning.
I assisted with the middle- and high-school Mandarin YCT after-school programme.
Teaching-assistant participation, alongside my other school service activities.
Small contributions across the community.
My school volunteering included elementary PE support, art activities, the library, and Back to School Night.
I also helped with Chinese New Year decorations and took part in Lessons and Carols. These smaller commitments sat alongside my regular clubs and performances.
Talking through questions that matter.
I participated in discussions and debates about climate change, sustainability and environmental issues.
The club gave me a space to discuss scientific ideas with classmates and consider how they connect to wider environmental questions.
Sharing perspectives, learning from others.
I joined the student-led Cultural Club to learn about other cultures and take part in conversations across different backgrounds.
It was an opportunity to become more comfortable sharing my own perspective while listening to how other students understood theirs.
Certificate of Distinction
University of Waterloo · 2024
China National Bronze
2024
New Energy Electric Vehicle programme
August 2024
Recognition received during my university applications. I chose to study at U of T’s St. George campus.
I also participated in Physics Bowl, the Senior Physics Challenge, the Sir Isaac Newton Contest, and ISMTF mathematics competitions. Preparing for an international mathematics competition in France involved months of after-school practice with other students.
A foundation I’m continuing to develop.
Python · Java · HTML / CSS
Applications, object-oriented designR · NetworkX · tidyverse
Data analysis, graph relationshipsPlotly · ggplot2 · Tkinter
Interactive visualizationsGit & GitHub / VS Code / PyCharm
Have a project in mind, a question, or something we could learn together?
Send me a note. I’d like to hear about it.
For U of T projects, clubs and academic conversations.
For collaborations, opportunities, or just a hello.
Gmail opens in a new tab. “Use mail app” opens your default email app.