Hank
Wu

Currently Seeking New Grad Roles in Tech! 🌎
Operations Director at Hack the North (North America's largest hackathon)
Previously: Software Engineering Intern @ Tesla, Samsung Research America
Postman, FreshBooks, Autonomic, Athos, Royal Bank of Canada,
Machine Learning Researcher at Univeristy of Waterloo Autonomous Vehicle Research and Intelligence Lab
Linear Induction Team Lead at Waterloop (SpaceX Hyperloop)
UWAFT Autonomous Vehicle Software Team Lead (GM EcoCar)
Thanks for stopping by, hope you're having a great day! 🙂

Welcome to
my Website

Hello! Nice to meet you 🙂
Here you will find pages about my experiences and projects!
You can scroll down or view the tabs above to see my work and contact! 🙂

Reach
Internet Access Through SMS
Text Messaging

Reach is an internet access through SMS text messaging service I made that allows users to access many important features of the internet without the need for Wireless Connection (WiFi or Data). Features include: Directions, Weather, News, Wikipedia Articles, Unit and Currency Conversion, and more.

I built the program using Node.js for my backend, Google Firebase to host my cloud servers, Twilio to send and receive SMS, and Google news and maps, Wikipedia, and Fixer APIs for each feature. If you would like to see a video demonstration and read more about my project, please click on view project! =)

Axel
Autonomous Chess
Playing Robot

Axel is an autonomous chess playing robot that I created to learn the fundementals of mechatronic systems. The robot supports Player vs Player, Player vs AI, and AI vs AI. The AI generates moves through processing board states using my modified version of the Stockfish Aritificial Intelligence Chess API.

I programmed Axel with event-driven embedded software using RobotC along with mechanical movement, and a Human Machine Interface. Axel's components were designed with AutoCAD, SolidWorks and built robot using a combination of 3D printing, Laser cutting, Lego EV3 and Tetrix robotics components, MDF, and aluminum extrusions

Train u
Machine Learning
Sports Trainer

Train u is a machine learning sports trainer program that helps people improve their form when playing sports or excercising by analyzing and comparing their motion to professional players of their choosing and suggesting improvements. Train u was made at a UofT Scarborough hackathon called Hack the Valley with two of my friends. Our program was able to place 3rd out of over 100 teams at the event. Though the event has finished, the project is still ongoing as we believe that the program could see practical real life applications in helping people play like their favourite players.

The program is able to provide accuracte diagnostics and suggestions through combining two machine learning algorithims in conjunction. The first machine learning algorithim anaylzes footage of a person in motion and through the use of complex matrices and eigen vector chasing, is able to map a skeletal body onto the person. The second machine learning algorithim then compares the new video footage with skeletal bodies of a professional athele with any person, rapidly recording inconsistencies between the two models and parsing through the data after the video ends to suggest improvements in specific body part movements, such as "raise hand when releasing ball".

Star Mania
Python Browser
Arcade Game

Star Mania is an arcade spaceship game that is playable online through Codeskulptor. I was inspired to create this game when I read about Elon Musk's story of selling his own arcade game to a local store. It is also a throwback to the classic retro arcade games that were some of the first to innovate core mechanics and build the fundementals that many advanced, modern games are based on. If like these types of games, you can find more custom games that I have made on my Github, such as a version of minesweeper with custom maps and a 2d platforming game resembling Mario with a level editor. This project was one of my first ever involving programming and game design so it holds a special place in my heart.

Working on the project helped me familiarize myself with Python and many types of data structures, such as hashmaps, heaps, stacks, queues, and linked lists, sets, and tuples. I also designed and modified the sprities used for the game's animations using adobe tools along with Blender and MAYA. As a challenge, instead of using the Pygame library which is common for game development, I decided to build my own physics engine with hitbox models and 2D collision physics, which requried an unhealthy amount of math haha. You can give the game a try by clicking on the "Play Game" button below.

Responsum
Educational Classroom Software Application

Responsum is an educational classroom application I'm developing to try to help students improve their academic learning by integrating and centralizing software tools and assistants across platforms. As a student myself, I found that having to navigate to five websites or mobile apps each time I wanted to study with all the resources availible to me was quite a hassle, espcisallly considering how limited time we have when working on schoolwork, projects, and design teams. Along with this issue, each application also levied a charge either towards the student or the university, that stacked up to over $200 per student, times the 40,000 students we have at the University of Waterloo. To try and find a solution to this problem, I decided to try and create a web app and mobile app that would seek to optimize the essential resources required for a great academic experience, and also add in additional features that my friends and I personally wished for.

The development consists of three compoenents, the web app, the mobile app, and the API. I'm using MongoDB for my database, Node.js for the backend, and Google Cloud Servers, with a plan to migrate to the University of Waterloo's secured servers soon. I'm also using React, CSS, JavaScript, and HTML for my front end, along with Flutter for IOS and Android mobile applications.

I would also like to extend a huge thanks to my data structures and algorithims professor, Igor Ikovic, for giving me great advice on pursing my project and helping support its launch through a class trial with a mechatronics class of 135 students. Professor Ikovic is also an excellent teacher and has taught our class many fundementals of computer science that have enabled me to make this project and make it reality. Unfortunately, he passed away recently last year. His heartfelt support on the dreams and apirations of many Waterloo students has touched the lives of many, including myself. I hope he is in a better place now and that he can see how much positivity, joy, and happiness he brought into our world.

Syrinx
Malignant Cyst
Neural Network

Syrinx is a malignant cyst detecting neural network I built. I created Syrinx because I have always had a love for biology along with engineering, and this project enables me to integrate my hobby with my passion, while also trying my best to help others by releasing this as an open service for free use to assist with medical diagnosis if useful. A cyst is a node of membranous tissue that contains fluid, air, and other substances made up by a cluster of cells. They are able to grow nearly anywhere on the human body, resembling a liquid filled lump, and are often associated with cancerous tumors. However, the vast majority of cysts are benign, meaning they are harmless in effect, while a small percentage with key features are malignant, meaning they are harmful in effect and could lead to diseases and dangerous tumors.

I created this neural network using TensorFlow, NumPy, and published medical imaging on malignant and benign cysts. I code my program in TensorFlow to combine machine learning and deep learning to parse through the thousands of pre-labelled MRI images and train my neural network against it. During the analysis of each image, NumPy works in conjunction to perform multi-dimensional matrix calculations with the results generated from my TensorFlow program. After analyzing an image, Syrinx will output a percentage chance that the cyst pictured is malignant or benign, with a near 70% accuracy rate. As I continue to improve Syrinx through more data sets, it will be able to continue to improve both its accuracy and precision in detecting malignant cysts.