I am a 4th-year Computer Engineering student at the University of British Columbia in Vancouver, BC working towards a career in Software Engineering. I love learning new technologies to create beautiful, fun, and useful solutions to existing problems. My experience and coursework so far have involved building web applications and cloud infrastructure. Outside of tech, I like to advocate for wellness and equality through student organizations. I am also a huge cycling and photography enthusiast!
I would love to chat about full-time opportunities upon my graduation in May 2021.
Check out my resumeAt nwHacks 2020, I met Eddy, another UBC Computer Engineering student. We both made an observation that each engineering department have some distinct demographics. Using OpenCV and associated libraries, we created a data set of all the faces graduated from UBC engineering by scanning previous yearbooks and create an average face for each specialization.
Once an average face was created, we thought it would be interesting to see whether scanned faces could be matched against the average face of each department. We then use the produced data to predict which engineering department a person is most likely to be in based on their facial feature.
Learn moreSeeing that relationships are already difficult enough, our team wanted to make the process simpler for UBC students.
As part of software engineering course, I joined 3 other teammates to develop a mobile online campus dating application which matches users based on their faculty.
I was responsible for the server side, so we had to design communication protocols with the Android client via HTTP requests and JSON, with the Android client. My main objective was to implement functionalities and matching algorithm on a Flask server using Python. The server interacts with a MySQL database, which stores all of the users' data. Toward the end of the project, I was able to use my visual art experience to assist the Android team in creating a more aesthetically pleasing user interface. We were voted as the best project in the class.
Over the last summer, I designed and built a rover with pan/tilt head that could be controlled over the WiFi. It was originally one of the ideas for my project course that didn't get to go forward, so I decided to check it out myself.
In this project, the Raspberry Pi sever uses Node.js and Socket.io to exchange commands and data with the client's browser. The Raspberry Pi also sends commands to an Arduino, which controls the motors and servos. Then, seeing that other video streaming platforms are too limiting for my purpose, I went ahead and experimented with my own simple live streaming method using OpenCV and Node.js, which performed relatively well at 24 fps with little delay. To top it off, the client has a HUD-style UI, implemented using HTML5 with embedded Javascript and Canvas to give it an FPS games vibe. Finally, as an experiment, I used OpenCV to allow the pan/tilt head to follow a person. I plan to resume progress on this project when time allows.
Try it yourself!I have always had fun with light painting, it is a technique in which you try to draw something in mid-air with a small light source and capture it with a camera on long exposure setting. The result will be some kind of shape that looks like a hologram projection. One day, I thought about the possibility of having a computer to draw the shape instead of yourself. With a quick Google search, I found that the idea has already be done, but I want to give it a try anyway.
This project is inspired by Adafruit's NeoPixel Painter. While the hardware is similar, the software is completely re-written for improved ease of use, simplified code and wider support of image file extensions. In this project, an image file is converted to an array of RGB values in a text file using a Java Processing sketch. The Arduino will read the text file and display them on the RGB LED strip. The set up can be powered by any USB battery bank or directly to an USB port.
Try it yourself!Last year, I collaborated with a group of six to build an autonomous plant care system that seeds and waters plants, monitors the environment, and displays them on a website, where users could modify settings.
My job was to implement the processing module on a Raspberry Pi in Python, which communicates with the server, control an Arduino and process collected data. I also programmed the Arduino to control a robot arm, pumps, LEDs and collect data through various sensors. Finally, I set up a webcam and created a live stream using MJPG streamer so that users can monitor their plant on both local and remote networks.
I am currently the Public Relation person for UBC Rapid, an Engineering Student team, specialised in designing rapid prototyping machines, 3D printers in particular. In addition to the social media management, and customer outreach, I am also very involved with the operation and maintenance of the 3D printers.
Last year, I formed a team with 5 other members to build, modify, and improve a Prusa i3 mk2 3D-printer. We designed and constructed an enclosure to improve thermal insulation and added remote printing and monitoring capability using a Raspberry Pi and OctoPrint. Our mod ended up taking 2nd place in an internal competition, scoring high on print quality and creativity.
Learn more about UBC RapidIn addition to the above, I have also accumulated experiences from the following school projects and assignments
Hello! My name is To and I have been taking photos for 3 years. I specialize in portraits photography but I also enjoy capturing the landscapes on my adventures. I believe photography helps people capture their memorable moments and share their interesting stories.
1 hour | 10-20 photos | 100$
1 hour | 200$
If you have an idea and would like to collaborate, let's get in touch!
For enquiries, please feel free to contact me for more information.
Nowadays, since everyone takes their phones into the bathrooms, we thought, why not let your phone take you to the bathroom? Introducing Loogle, a toilet searching mobile app... Just kidding, this is actually a satirical video I produced for our faculty film competition.
Sometimes the one you need isn't the person you want.
Highlights from our 2 weeks long road-trip around stunningly beautiful South Island of New Zealand.
Seeing snow for the first time ever, I decided to walk around UBC to capture the moment.
My attempt to experiment with the slow-motion and time-lapse techniques on my trip back to Bangkok.
After 15 cm of snow and a power outage, what are better ways to celebrate?
A short after-movie of our student society's annual social event.
Powered by w3.css