Software Engineering
Penn Mobile
Penn Mobile serves over 5000 weekly, 7000 monthly users in the Penn
community to do anything from check dining hours & menus, book study rooms, and much more!
I spearheaded the dining redesign effors in SwiftUI and set up the necessary
infrastructure for the integration of this new framework amongst our existing codebase written
in UIKit.
I also implemented a screen that requires FaceID to retrieve students' Penn Access Code using
Local Authentication.
You can find the repository for this app here and the app store link here.Software Engineering
WebCraft
A clone of Minecraft running on the web. It is powered by OpenGL, SDL, C++ and ported
to WebAssembly using Emscripten.
This was the final project for my computer graphics class and was built with two other
students. I was responsible for implementing player physics, multithreaded terrain generation,
and porting the source code to webassembly using Emscripten.
You can find this application deployed here.Software Engineering
Penn Clubs
Penn Clubs is a platform that help students who want to be involved in student organizations. Available on the
web and on iOS, students can browse and keep track of clubs and club events year round.
I worked as the sole iOS developer to migrate functionalities available on the website
to a native app. I also added mobile-first features, including but not
limited to adding events on the user's calendar and having a map view of booth locations for the clubs fair.
You can find the repository for this app here and the app store link here.Software Engineering
Compass
An academic clone of Google Search Engine Circa 1990 created as the final
project for my CIS555 course with three collaborators.
I was responsible for implementing PageRank using Apache Spark
and populating the inverted index using Apache Storm. During the project, I interfaced
with several services on AWS including EC2, EMR, S3 as well as database platforms like
MongoDB.
You can find a report for this project here.Software Engineering
Algorithm Visualizers
As the programming head for the data structure and algorithms course,
I built visualizers that simulate student's solutions to programming assignments.
Using Java Swing and GraphStream library, students are now able to see
their implementation of Resizing Deques, HashMap, TrieMap, and graph algorithms like
shortest and widest path.
You can find the repository for the various visualizer here.Research
Intel ISEF
Intel ISEF is the world's largest international pre-college science competition.
I represented Hong Kong as one of six projects with my research into Dye-Sensitized Solar Cells
at the 70th annual competition.
You can read my paper here.