Hi there, I'm Alvin


I will graduate from the University of British Columbia in November 2023 with a major in Computer Science, and a minor in Commerce.


I'm passionate about Software Development, Web Development, and UI/UX Design.


At my most recent internship, I was an SDE at Amazon, where I was tasked with two major milestones. The goal of the first milestone was to improve the effiency of a service owned by my team; the second milestone was to design and implement a high-requested feature. Also, I am currently the coding manager at the UBC Visual Cognition Lab.


In my spare time you can catch me playing squash, soccer, spikeball, basketball... I love all sports. I also really enjoy listening to music, especially jazz, hiphop, rock etc. I love taking photos as well.

Experience

UBC Visual Cognition Lab

Vancouver, BC

Manager, Coding

May 2022 - Present


  • Led a team of nine student developers, UI/UX designers, and graphic designers to release a minimum lovable product in 12 months, namely a lab website built using the MERN stack.
  • Spearheaded an overhaul of the document storage system with the goal of reducing the average time taken to find a file.
  • Oversaw a team that successfully developed two web-based behavioural experiments exploring the effects of inattentional blindness.
  • Supported the professional growth of team members by first learning about their personal interest and abilities, and then assigning projects and tasks accordingly.

Amazon

London, UK

SDE Intern

Oct 2022 - March 2023


  • Achieved a 10% reduction in the number of API calls necessary from an internal service to AWS CloudWatch, resulting in decreased monthly expenditure and maintenance efforts. This multi-threaded solution is ready to scale up to 10x existing traffic.
  • Designed and implemented a highly requested feature for an internal service that allows users to perform math expressions on time-series data, eliminating the need for manual calculations.
  • Ensured the feature was customer-centric and backwards-compatible, providing a seamless experience for existing users while meeting the needs of various internal teams.
  • Successfully earned the AWS Certified Solutions Architect Associate certificate during the internship period, demonstrating a strong commitment to enhancing skills outside of regular work hours.

Logibec

Vancouver, BC

Full-stack Web Development Intern

May 2021 - Aug 2021


  • Designed and implemented a system to sync filter selections across multiple tabs in order to help the user gain insight about operational inefficiencies across different hospitals.
  • Led morning huddles, sprint review meetings, and sprint planning meetings.
  • Researched third-party document previewing APIs and led meetings with sales engineers discussing business cases specific to the application.
  • Participated in discussions with internal stakeholders on ways to improve the application, and creating the corresponding issues in Zenhub.

AnalysisWorks

Vancouver, BC

Web Development Intern

May 2020 - Aug 2020


  • Worked with C3.js to achieve customized tooltip logic, used in several areas of the application to help visualize healthcare metrics for hospitals in Canada.
  • Refactored tables and charts throughout several modules into their own components for increased efficiency and readability.
  • Improved the overall user experience by developing a NestJs error logging service to catch thrown errors, unhandled promise rejections and uncaught exceptions.
  • Deployed applications to staging and production environments hosted on Azure as part of the release cycle.

Projects

Gym Availability

Python • Selenium WebDriver • Twilio


It’s COVID, and at the UBC campus gyms, there was a capacity limit of 25 people. You were required to book a session using an online software, which was problematic - bookings for a session would open 48 hours in advance at noon. The entire campus would be scrambling to make bookings, resulting in the entire day being booked out within one minute. If you weren’t fast enough or in class, there would be no workout for that day :(. Clearly, there needed to be a solution.


I built a simple python web scraper that logs into the online booking software and sends you a list of open bookings through SMS (using the Twilio API), due to someone cancelling their booking. I deliberately chose SMS because it’s a high-priority interface - the likelihood of someone checking their phone and seeing a text message with available openings is higher than say, an app or email.


I liked this project because I gave it to my close friends to use, and they actually found it to be useful. This was my first experience building something that had real users!

View on Github

TypeMeNot

Javascript • Node.js • Chrome extension • Google Perspective API


This project was built at NwHacks 2020. It was inspired by the many hateful and rude comments that can be found on platforms such as YouTube, Twitter, Reddit, etc., as well as the idea that it might even be you yourself who is making such comments without knowing it. The motivation for this project was that if the user could be warned that their comment is potentially harmful or toxic, then they would be less inclined to actually post it.


We chose to implement this project in the form of a Chrome extension so that we could easily support a variety of websites. The extension takes the text from the textbox that the user is typing in and feeds it to a Node.js instance, which is then fed to Google’s Perspective API. This API returns a float value from 0.00 - 1.00, corresponding to the “toxicity” of the text it was given. Sentences that included swears and hateful comments return a higher value.


We then decided a threshold value where any score for a given sentence greater than this threshold is considered too toxic for the sake of the Internet. In this case, the user is alerted with a popup message.

View on Github