Hi, I'm David Zhou πŸ‘‹

And I'm a 4th year Computer Science Student at the University of Toronto, St. George. I'm passionate about software development and information security.

My work can be found in my Github πŸ”—

See my interests and experiences in my ResumΓ©.

Learn about what I do

Here's all the stuff I do

These are the skills and abilities I picked up as a computer science student over the years

Computational Theory: Data Structures and Algorithms

I am proficient in data structures and algorithms, and have experience in implementing them in various programming languages. Through hands-on experience and continuous learning, I have honed my skills in designing and implementing optimized solutions that improve the performance and scalability of applications.

Software Development: Frontend and Backend

I have a comprehensive understanding of both front-end and back-end software development. Using modern technologies and best practices, I have experience in designing user interfaces while ensuring that the application backend is dynamic and responsive. Please check out my various projects below!

Information Security: hardware, OS, networks

I have a solid understanding of information security across hardware, operating systems, and networks. I love exploring this domain and building projects with hardware at home with various projects. Since there is not much of a focus on networks and security in my university's curriculum, I have been self-studying this domain and have been learning a lot from it from courses online and external events.

Data Management and Visualization Tools

I'm proficient in using data management and visualization tools. I can handle big datasets and make cool charts with stuff tools like SQL, Python (Pandas, NumPy), and R. I also gained a lot of experience using Microsoft Excel and other Office 365 softwares from my assistant position at Ware Academy of Music, where I handled payments, scheduled lessons, and provided technical support.

Communication and Collaboration

I excel in communication and collaboration, and I enjoy working in a fast-paced environment with a team. With my effective communication skills, I share ideas, provide feedback, and I'm not afraid to ask questions. I prioritize clear and effective communication to ensure everyone is on the same page and working towards common goals.

Here’s some stuff I made recently

Feel free to contact me for more details about any of the projects!

Focus Coach

Video πŸ”—

In today’s fast-paced environment, maintaining focus and productivity can be a challenge. Focus Coach is a mobile app that addresses this issue by introducing deliberate interruptions when attempting to open distracting applications on your phone. This subtle inconvenience encourages users to think twice about accessing these apps, ultimately reducing distractions and enhancing productivity.

Unfortunately, U of T does not allow me to publicly disclose the code under the Intellectual Property Confidentiality Agreement of the project.

  • React Native
  • Node.js

PetPal

Frontend πŸ”— Backend πŸ”—

PetPals is a pet adoption website that allows users to create shelter and seeker accounts. Shelters can add pets to their shelter, and seekers can search for pets and adopt them. Users can also receive notifications, and chat with other users.

PetPals uses React as its frontend framework and Django REST framework in the backend.

  • HTML
  • CSS
  • JavaScript
  • React
  • Django

Note that this project uses dummy data, not real data.

Starlight Wishes

Github πŸ”—

Collaborated with a team of 5 to develop a desktop app that allows users to create and share wishlists. This program allows users to search for things on online retailer websites and add items to a wishlist. The program then updates the prices of the items and notifies the user when an item is below their desired price for the item. Users can also view items in more detail along with their price data gathered over time.

  • Java

Pseudonote

DevPost πŸ”— Github πŸ”—

PseudoNote is a compact, no frills word processor. We have kept support for the most essential features of word processors, such as auto-save, italics and bolding, lists, and image support. The most integral attribute of PseudoNote is that it is compact enough to run on the oldest systems, and is designed for quick note-taking when other features are unnecessary.

  • HTML
  • CSS
  • JavaScript
  • Electron

Learning Center

Website πŸ”— Github πŸ”—

This is the official U of T software learning centre for students of CSC301, Software Engineering. It is a website to help students learn common concepts and technologies of software development, and to provide resources for the course.

I made a significant contribution regarding CSS Selector Specificity, which can be found here.

COVID-19 Government Stringency Index

Github πŸ”—

This desktop app allows users to select 2 countries to compare their COVID responses. The user can then select a COVID response metric and a COVID policy to compare, and the app will graph the comparisons.

Examples of metrics are total cases, total deaths, and total testing, and examples of policies include the cancellation of public events, public gathering rules, and face covering mandates.

The Python library Tkinter was used for the GUI, and the datasets are loaded locally, and taken from Our World in Data

  • Python

Expedia User Study

Google Drive πŸ”—

In this presentation, I worked alongside 3 others to perform a study on the data of real Expedia users with the goal to recommend improvements to the Expedia search alrogithm. We used the data to identify trends that users would find more useful, using multiple statistical methods in R. We then presented our findings to Expedia collaborators.

Smarter Defect

Github πŸ”—

This is a mod in Java for the card game rogue-like, Slay the Spire. I asked ChatGPT to generate new cards for the mod, as well as the art for the cards. I then implemented the cards into the game.

I made this mod as a hobby, right after the release of ChatGPT's more stable versions to explore the capabilities of the AI. I also wanted to see if I could make a mod for a game, and I found it to be a fun and rewarding experience. It was also a challenging experience to modify a production-ready game, and it greatly increased my knowledge of programming in Java.

  • Java

Nextcloud Home Network

Since I live in a townhouse with many floors that are small in area, the wifi signal was particularly weak on the 3rd floor and in the basement. I decided to set up a Nextcloud server and connect all the devices in the house to it. This allowed me to store all the data in one place, and access it from outside the house.

From this project, I learnt a lot about how networks work, and the various components that compose it. I also learnt about the security of networks, and how to protect the data that is stored on it.

Hobbies and Interests

Things I dabble in because I have too much free time πŸ˜„

Classical Piano

I am very grateful to have had the opportunity to study classical piano throughout my childhood, and perform at various events and occasions in front of hundreds of people. I hold the following credentials:

  • ARCT (Associate Diploma, Royal Conservatory of Music)
  • ATCL (Associate Diploma, Trinity College Longon)

In studying this my entire life, I truly believe everyone should have the opportunity to learn an art, as it is a way to express oneself and to find beauty in the world.

Learning French

I grew up speaking french in elementary school, and I find it to be a uniquely beautiful and elegant language. I have also studied it in high school, and I am currently taking a french course in my third year at U of T.

  • Ontario Bilingual Certificate
  • FSL222: Intermediate French II

In Canada, I was given an opportunity to learn and practice this new language. I hope that in the future, I will continue to practice and improve my french, and use it in my employment.

Mechanical Keyboards

I love mechanical keyboards! I enjoy every aspect, from the various parts that compose them, to the building, assembling, and modification of them. I have built and modified around 20 keyboards, and I love to give them as gifts to friends and family. The big brands like Logitech and Corsair charge a huge markup for their logo, and it's much cheaper to build a great board from parts found on sites like Aliexpress. I'm part of a larger community of keyboard enthusiasts that also love tinkering with keyboards to personalize them to the right sound, feel, and aesthetic.

Running

Running is a hobby that I recently picked up, along with some of my friends. I like running because it’s a great excuse to go outside and get some fresh air. It also helps me stay in shape and gives me energy. Working towards running my first half-marathon!

Business Email: davidzhou79.business@gmail.com

Personal Email: david.m8f.z@gmail.com