William Portrait

Hi, I'm William! I am currently
a New Grad from University of Waterloo
seeking Fall 2025 SWE opportunities











About me

I am a New Grad from the University of Waterloo with a degree in Mathematics, specializing in Combinatorics and Optimization. I have always been passionate about learning and problem-solving, which naturally led me to coding. I enjoy finding efficient, elegant solutions and am excited to keep growing as a developer.

I am a self-taught fullstack developer with a strong foundation in data structures and algorithms, object-oriented design and programming, and databases.

I love working on new projects with real functionality and solutions; from creating scheduling systems, profitable trading algorithms, to training MLP models to calculate the probability of winning a game such as League of Legends.

I am currently looking for a new grad or internship as a software engineer for Fall 2025.

When I'm not coding, I enjoy doing sports such as basketball, soccer, and volleyball. I also enjoy going to the gym, going on runs and hiking. When I'm feeling less active, you can find me playing games or watching Netflix. I look forward to get in touch!





My projects

Event-Driven Trading Algorithm

Created a trading algorithm with python using mean reversion strategies on event-driven stocks.

  • Python
  • Pandas-ta
  • Anaconda
League Of Legends Win/Loss MLP Model

Trained MLP model with PyTorch giving an accuracy of 73.07% of predicting the chance of winning/osing a game in LoL after 10 minutes of in-game time.

  • Python
  • Pytorch
  • Pandas
  • Numpy
Amazon Price Webscraper

Implemented a web scraper that tracks and compares product prices on amazon.ca

  • Python
  • Selenium
  • Beautiful Soup
  • Pandas
Student Management System

Creates, reads, updates, and deletes student information and stores student data in a SQLite table.

  • Django
  • Python
  • Bootstrap
  • SQLite
Pathfinding Visualizer

Used Dijkstra's algorithm where the user can create mazes and blockades to find the shortest path between 2 nodes.

  • React
  • Javascript
Google Search Clone

Designed a Google clone that mimics their search algorithm for links, titles, images, videos, and news.

  • React
  • Javascript
  • Rapid API
  • Tailwind CSS









My skills

Languages

Frameworks and Databases

Tools and Libraries

My experience

Software Engineer & Founder | Schedutor

Waterloo, Canada

  • Built a full-stack SaaS platform with NextJS to help tutors facilitate scheduling and track lesson plans.
  • Scaled to over 50 active users with a monthly growth rate of 110% post production deployment.
  • Increased free-to-premium conversion rate to 25% through UX improvements and high-impact features.
  • Developed dynamic front-end interfaces using Typescript, React, and Shadcn modular components.
  • Optimized performance metrics (TBT: 0.12s, LCP: 1.5s) via code splitting, lazy loading, and caching.
  • Designed scalable back-end with Supabase and Prisma ORM for real-time data, storage, and security.
  • Integrated Auth.js with NextAuth for secure, token-based authentication and session handling.
  • Used Stripe's API and webhooks to manage subscription events, billing states, and feature access.
  • Implemented Agile SDLC with unit and functional testing, reducing post-deployment bugs by 80%.
  • Automated CI/CD pipelines via Vercel and Github Actions, reducing release times by 50%
May 2024 - Present
Math & Computer Science Tutor | Private Tutor

Vancouver, BC

  • Provided lessons in algorithms & data structures and object-oriented programming in Python & C++.
  • Created targeted problem sets and coding exercises to reinforce theoretical concepts and coding skills
May 2023 - August 2023
Data Analyst Intern | Dr. Lee's Ortho Clinic

Vancouver, BC

  • Spearheaded a new patient scheduling proposal using data gathered with Python and MySQL.
  • Increased patient care efficiency and allowed for more clients within a day.
June 2022 - August 2022
Lifeguard & Swim Instructor | City of Burnaby

Burnaby, BC

  • Organized 8-week lesson plans for varying skill levels from toddlers to adults and handled PR problems in Mandarin and french.
  • Worked with small team to keep all patrons in pool vicinity safe through active scanning techniques
November 2018 - December 2022

Contact me

Please contact me directly at w43chang@uwaterloo.ca
Or
Connect with me on LinkedIn!