Utsav Shinghal

Utsav Shinghal

Hi there! I am a third year student at the University of Toronto specialising in Computer Science, Mathematics and Statistics. I am a driven and ambitious student interested in Data Science, Artificial Intelligence, Machine Learning and Quantitative Finance! Have fun exploring my site :)

I have lived in 7 countries, India, Dubai, Australia, Singapore, The Philippines, Malaysia and Canada, and I can speak a few different languages too - English, Hindi, Spanish(intermediate), Chinese(beginner)! My hobbies include playing chess, scuba diving, playing the guitar and watching / playing sports! I played varsity tennis in high-school and captained the team in 12th grade!

Feel free to get in touch if you'd like to chat.

Current Positions


University of Toronto
Computer Science and Mathematics
GPA: 3.97/4.00 | Transcript

International School of Kuala Lumpur
International Baccalaureate - Higher Level Math, Economics, Physics
Score: 41/45


Quantitative Developer Intern

Squarepoint Capital

May 2021- August 2021 (In Progress)

At Squarepoint Capital I am involved in working on quantitative research tools used by researchers to create machine learning models that trade real time. Using Pandas and Numpy, I have fixed memory issues that were caused due to the size of datasets used by the researchers (in excess of thousands of GB). To do this I also had to split up Slurm job calls to ensure that more jobs were allocated for larger datasets. In addition to this, I have been fixing other bugs and creating new features for these tools that are requested by the researchers. More to come here soon!

Software Engineer Intern

Shopmatic Inc. Singapore

August 2020 - October 2020

This was my first experience as a software intern. Shopmatic is an ecommerce platform allowing entrepreneurs to set up an online presence with the press of a few buttons with an intuititive web application. I worked with the frontend team for the duration of my internship.

I had to quickly learn React and Redux on the job while navigating a complex code base. I worked on implementing more automation to the checkout process for users when they purchase an item. Using the Google Maps API, I was able to create an input field where the user could type their postal code or another small piece of address information and have their entire address be auto-filled in, allowing for a better and more efficient checkout experience.

Course Developer

Department of Computer Science, University of Toronto

September 2020 - Present

Solving C.S questions in first-year was tough. Or, so I thought! Turns out, making these questions is even harder! As a course developer, I work with professors Mario Badr and David Liu at the University of Toronto to make course material for the two new first-year Computer Science courses at UofT, CSC110 and CSC111.

I would show you all the work I have been doing, but those pesky first-years would find it and then ace all their exams! So I'll just explain instead! I have been making test questions and worksheet problems on difficult concepts like Number Theory, Runtime Analysis, Object Oriented Design, Recursion , Data Structures, Graphs and more, all done in Python!


Teacher's Portal


Python, Django, React, MongoDB, AWS, GraphQL

This project was in corporation with the company Hypatia as part of the course CSC207. Hypatia has a Check Math API that checks whether students' math calculations are incorrect as they write in LaTeX.

Our motive for this project was that the completed assessments that arrive in teachers' hands rarely show the true struggles the student had while completing that assignment, therefore the teacher isn't able to get a good grasp on how the class is doing based on solely completed assignments. With Hypatia's Check Math API, we can gather the errors students make while trying to solve the problems!

We created a full-stack application using this API that displays informative statistics to the teacher on the # of errors made by students during the assignment, the # of errors on each question (thus showing if a question was too difficult/easy), the most common "type" of error and more!

slides | code


Python, Flask, HTML, CSS, JavaScript

Winner for Best Data Visualization at Hacklytics - Georgia Tech's Data Science Hackathon

Recently, there has been a major event in market history: the inflation of GME, AMC and other stock prices mainly due to investors creating buzz on social platforms, such as Reddit and Twitter. The power of social media on the stock market inspired us to make this project.

This app aims to help both individuals and companies make informed investing decisions by allowing users to monitor daily fluctuations in the mentions of their stocks. TickerTrakr allows a user to enter the stocks they own or want to enquire about, and see the volume of engagement surrounding this ticker on social media. Ater searching for the stock ticker, a data panel on the stock of interest is shown with graphs and statistics clearly displayed for easy access. Data is updated real-time.

For this project, we used Python for the backend with Flask and HTML, CSS and Javascript for the frontend. We also used the Twitter Search API, Reddit API and the Finnhub API to get the real-time data we needed. This project was made in only 36 hours!



Python, Selenium

Scheduling interviews is a real pain! I found out the hard way, where I spent nearly 3 hours just seeing when I could schedule interviews for the general council applications at the Computer Science Student Union (CSSU)! We had been using when2meet to schedule these interviews. While the site is really good for seeing when people are available, it takes time to sort each executive with an applicant.

I used Python and Selenium to scrape when2meet and schedule these interviews for us within seconds, saving me three hours to catch up on some sleep! Scheduling is currently based on a little bit of prioritization, but mostly first-come first-serve. I am working on optimising the algorithm so it schedules an equal amount of interviews for each exec member!


Tennis Analysis (Research)

Statistics, Python, Selenium

Being a varsity tennis player, there were certain intuitions I had while playing on the court. One of these was the fact that if I was playing a better player, I would want the games to be scored with "sudden death", rather than deuce. But, if I was playing a worse player, I would want the games to be played with "deuce". It seemed intuitive - sudden death would mean I only had to win one point against a better player rather than two to win the game. However, I wanted to see to what extent this was based in mathematics, and to what extent different scoring mechanisms gave advantages to different players!

I wrote a 5700 word analysis of this intuition using combinatorics, probability distributions and negative geometric summations. To extend my analysis, I wrote a Python program to test my theory for all player matchings (based on their point probabilities). The paper is linked below if you would like to read it!

pdf | code