Welcome to my portfolio!

David Hu-Liu

Computer Science Student

David Hu-Liu

Portfolio

About Me

01

My name is David Hu-Liu, currently a freshman at the University of Waterloo studying Computer Science and at Wilfrid Laurier studying Business. I have a strong interest in Machine Learning and Data Science, full-stack development, Graphic/UX design, and creating products that address real-life problems.


I understand the key principles of data science, along with the underlying mathematics driving machine learning algorithms. I’ve used javascript and React to create full-stack applications, and utilized various python libraries to create neural networks and object detection.


I want to continue learning about important technologies because I believe technology, including software, has the capacity to shape our future and address societal problems such as sustainability, equality/access to technology, and education. Technology has historically been a catalyst in improving our quality of life, and the future will be no different.


With open arms, I seek to collaborate with others with the shared mindset that technology can drive positive social change. Outside of computer science, my hobbies include snowboarding, fitness, philosophy, and poker.


Resume HereExternal link



EDUCATION AND CERTIFICATIONS





Bachelor of Computer Science


See More Detail Here



[ 2023 - 2028 ]


Harvard Pre-College Program: Mathematical Elements of Data Science and Artificial Intelligence





Udemy: The Complete 2023 Web Development Bootcamp



My Projects

02

HANDPILOT

In a world where communication with technology is essential, and some are less fortunate, we proposed Handpilot: Allowing Users to Navigate the computer effortlessly without the need for a mouse. Let your hands glides freely without the need to apply strain to potentially injured or painful joints.

The software uses the OpenCV library to detect camera motion, Mediapipe for perceptual hand tracking (uses machine learning), and Pyinput to control the mouse.



See Project SubmissionExternal link

See Project Source CodeExternal link

VERBATE

Become Interview-ready easily with Verbate. Speaking itself is a skill beyond just what you know. Practice your public speaking skills using this chatbot that allows for voice recognition. The bot will give you effective interview questions based on your job requirments and personalized prompts. It will then give you a final evaluation of how well you did on your practice interview, and how likely you are to do well in the future.

The project utilizes the ChatGPT-4 API as well as speach-to-text resources.




See Project SubmissionExternal link

See Project Source CodeExternal link


Image Recognition Machine Learning AI [CIFAR 10]

As our final assignment in my Harvard Pre-College program, we were instructed to traing our own CNN model and compete for accuracy in small groups.

Leveraging what we learned about topology, calculus, 3D geometry, and elementary statistics our group achieved the highest accuracy (98%) in the class, by approaching the problem using a simplistic activation layer set up and our clever grayscale coversion strategy that I initially proposed. The image conversion to grayscale would reduce a pixel's vector values from the range of 0-255 to just 0-1, allow for significantly easier processing after each additional convolution layer.





See Project SubmissionExternal link

See Project Source CodeExternal link



My Three.js Personal Portfolio

The website you are currently reading, utilizes blender for the room model, three.js for rendering and camera movements, GSAP for high quality animations, and css/html.


I had originally tried to create an interactive room using Spline 3d, in which the camera would guide the user experience like virtual reality. I had to give up on using their platform as it would not let me edit their source code after designing the room. After being inspired by the blender room design I had found, I utilized that instead and used three.js to create the website you are currently on.


See Source CodeExternal link


Chatbot NLTK Machine Learning AI

Utilizing Python's Natural Language Took Kit library and SGD optimization to create a silly language processing bot that randomizes its responses based on training data.

For example, entering "hi, how are you", will be processed and identified as a "greeting" intention and will output any of the predetermined "greeting" responses I set. In this regard, the bot is limited to the types of intentions pretedermined by me. The maximum training accuracy I achieved was 91%. I left the overall project unfinished and faulty after becoming discouraged realizing its harsh limitations.


See Source CodeExternal link


SKINSIGHT

Utilizing flask, OpenCV for image processing, pytorch and tensorflow, and html/css for front-end to create a web app that predicts the likelihood of the different types of skin cancer.

This project was inspired by the excruciating wait-time of the Canadian Healthcare System. By hopefully providing the opportunity for self-diagnosis, it could speed up healthcare and also contribute to cancer mitigation in the future.






See Project SubmissionExternal link

See Project Source CodeExternal link


WhatsInThis?

A modern problem that persists is not knowing the nutrition of meals when going out to eat. I hope WhatsInThis? could provide a solution, where eventually users will be able to create an account, and save a log of their common meal's nutritional values. This will enable a stress-free experience when going out, knowing exactly "What's In This?" when you order.

Website utilizes React.js, Tailwind CSS, and the Nutrition information API from NutritionIX's dataset to create a simple website that fetches for the nutrition value of nearly any food or meal. Back-end login authenitcation and meal-saving feature are still a work-in-progress.



See Source CodeExternal link


The SIMON Game

Simon is a childrens Pattern Recognizing Memory Game. The objective is to recite the pattern, as flashed by the different colors. This project was a good opportunity to practice basic logic in js using the jquery library. A sequence is randomly generated and added to a list, and continuously checked if the users input matches it. Once the user cannot match the next sequence, the player loses.



See Source CodeExternal link


Permanent To Do List

Using Express, Node, EJS, PostgreSQL Backend tools to develop a to-do-list that will save your information inside a database, regardless if the app is being refreshed.



See Source CodeExternal link


Experience

03

York Region Hackathon: 1st Place Overall [March 2023]


• Using Python & Libraries like OpenCV, Mediapipe, Pyinput, for camera detection and mouse inputs
• Working in a team of 3 to pitch our HandPilot branding using photoshop for design
• Competing against more than 250+ students across YRDSB



MakeUC Hackathon: Best implementation of GPT-4 or other LLMs [Nov 2023]


• Utilizing Node.js, Next.js, React, JS, AWS poly/GPT-4 API to create a voice interactive chatbot.
• Contributed more than 150+ lines of prompting and js code.
• Presented and judged in front of Professors, Software Specialists, Developers, etc.
• Competing against 300+ highschool-university students.



LyonHacks 111: 1st Place [April 2023]


• Utilizing React.js, HTML/CSS to create a full-stack, login protected code/drawing editor (DevInk)
• Username and Code Protected Authentication
• Collaborating in a team of 3 to deliver our product in under 36 hours.

CONTACT

04

Linkedin

If you'd like to get in touch, please feel free to connect with me on LinkedIn. On LinkedIn, I am actively trying to engage in coversation about stocks/trading algos, interactive web development, and finance in general. I am available for interviews and I look forward to connecting with other professionals in the computer science field.


LinkedIn

Github

I am an aspiring software developer or data analyst. I can be found on Github, where I am always searching for different ways to learn and share knowledge pertaining to computer science and finance. I try stay up to date with the newest technology, and continue learning whenever I can!


Medium

Devpost

I try to compete in Hackathons whenever I can. You can find any new hackathon submissions here.



Copyright © 2023 - David Hu-Liu