Hello. I'm Sherry Li.

Welcome to my personal website!

Resumé Projects

About Me

I'm a third-year computer science student at the University of Waterloo. I'm very interested in software development and passionate about using technology to promote social good and enhance scientific research. I always enjoy learning new things and applying what I know to solve inter-disciplinary problems.

On the side, I'm a quiz bowl enthusiast and a history nerd. My spare time is also dedicated to surfing through Wikipedia, catching up on current events, enjoying classical music, and playing with my slightly hyperactive Labrador Retriever 🐕.

My Projects


Multi-player trivia game that is a work in progress. The end product will be a web app with a .NET Core backend using SignalR and an Angular frontend. Currently developing supporting applications used to parse and load questions into a database, which includes a completed REST API that is secured with JWT. Check it out on GitHub.

Plastics for Change

Web app built using React, Python (Flask) and PostgreSQL for Plastics for Change as part of my work with UW Blueprint. It tracks recycled plastic transactions in India to increase transparency and accountability in the plastic supply-chain. I built form input components and created the receipt uploading feature. View the code on GitHub.


MEVN stack web app that facilitates used textbook exchanges by matching buyers with sellers and providing market analytics. Express.js backend queries a MongoDB database to find matches and displays results on user dashboard built with Vue.js. Created in 36 hours at UofTHacks 2019. Have a look in Devpost and GitHub.


SMS service built with Python and delivered through a Flask server and the Twilio API that diagnoses patients without Internet access. Recommends doctors in the vicinity through Google Places API. Created in 33 hours at Hack the North 2018. Check it out on Devpost and GitHub.

Genetics Toolbox

ASP.NET web app built with C# and hosted in Azure. It provides several tools for finding DNA transcripts, ORFs, and protein sequences. It also uses the Wolfram Alpha API to compute gene frequencies in a population according to the Hardy-Weinberg law. Try out the app and view the code on GitHub.

Coin Watch

Web app built with Python (Flask) that analyzes initial coin offering (ICO) websites for fraud. Uses the TextBlob library for sentiment analysis. Created in 20 hours at EngHack 2018, and winner of the ConsenSys Best Blockchain-Related Project prize. Take a look on Devpost and GitHub.


I've never tried my hand at blogging before, but I'd like to make a point of using this space to share my thoughts or interesting tidbits I learned. Expect some descriptions of programming projects, 'today-I-learned's, and reflections on readings or past experiences.

A Year of GitHub

July 16, 2018

A year ago, I joined GitHub. It’s not really an important anniversary, but in a way, it marks approximately one year since I started learning to code seriously. Git is one of the things I'm so glad to have picked up in the past year, so I’ll be going over some of my personal version control milestones in this blog post. I know I have yet to use Git and GitHub to their full potential, so this is a chance to look back at what I have learned and look ahead to what I hope to learn. Continue...

My First ASP.NET Web App

June 27, 2018

A little while ago, I created my first web app using C# and the ASP.NET framework. In this blog post, I’ll discuss my inspiration, development process, and future goals for this app. Note that this will be a more technical post.

At the end of April, I started as a Software Engineering Intern at SPS Commerce, a company whose development stack is predominantly Microsoft-based. Having only completed first-year computer science courses in C and Racket, I knew there would be a steep learning curve. Despite this, I was very excited to dive into coding. In my first week, I familiarized myself with object-oriented programming (OOP) and worked through several C# and .NET tutorials. Soon, my attention turned to ASP.NET - something my team works with extensively. ASP.NET is a server-side web framework that is part of the broader .NET framework. It uses IIS as web server and supports several programming models. Up until my internship, the only web development I’ve done was on static HTML and CSS pages, so the backend was a daunting new frontier I needed to tackle. Continue...

Dear Bayview IB Class of 2018: Reflections of a Grad, One Year Later

June 25, 2018

This post contains my reflections about IB, a high school program that I completed at Bayview Secondary School. It is written as an open letter to this year’s graduating students, and in the spirit of this, I did not include explanations for some of the terms used. However, there is a quick glossary on the lingo at the end of this post.

Congratulations, you made it.

A year later, I can still recall the sense of relief and feelings of joy when I walked out of my final exam. Many of you are probably more than ready to put IB behind you, as you look ahead to travelling in your extended summer, or going on to post-secondary studies in the fall. Relish these few months to be carefree, you’ve earned it. Continue...

The Not-So-Trivial Experiences of a Trivia Enthusiast

March 6, 2018

One of the most important things I believe in is the value of being a lifelong learner. Not only does it broaden our horizons, but it also gives us a drive to accomplish more. Part of what inspired me to begin blogging was the opportunity it’d give me to share new things I learn regularly—holding me accountable to actively synthesize new information I come across. In the near future, I hope to have a collection of posts up, highlighting interesting takeaways from anything between my coursework, leisure readings, or life experiences.

What sparked my aspirations to be a lifelong learner? Continue...