Intro
My Projects
Journey Together - CS446
• Worked with a team of 6 to develop a carpool post & ride mobile application by Java and Android Studio
• Developed a function with Firestore Database and GPS API services to identify the users’ location and assess the ‘traffic-heavy’ or ‘traffic-special’ zone
• Created a user-friendly interface and incorporate threading and background services based on various Android SDKs such as ConstraintLayout and Fragments, thus improved system response speed by 20%
• Applied Firebase to store and retrieve user tasks with 100% data integrity and no timeout
Spring 2023
Spring 2023
Food Meetup - CS449
In the UWaterloo CS 449 (Human-Computer Interaction) course, we designed an application to help people find restaurants and connect with food lovers. We began by interviewing users to collect data and to generalize ideas. Then, we used Figma to design our application. Throughout the course, we made several presentations and improved our prototypes based on user feedback.
Food Share - Robinhood Social Good Hackathon
During the two-day hackathon, we discussed and established our theme—a system that connects local food banks with restaurant owners to reduce waste from restaurants. We identified our responsibilities: creating the PowerPoint presentation, recording a YouTube demo video, and I participated in developing the website’s architecture. Our final product was well-received, and we were recognized as one of the gold tier winners.
Fall 2023
Winter 2024
Computational Audio - CS 489
Starting with the most basic wave physics. I learnt the triangular wave, square wave, sawtooth wave first, understood the relationship between dB and volume, as well as the relationship between frequency changes and human hearing.
Building on this foundation, I got to know the knowledge of harmonics, audio compression and decompression, including the errors involved, as well as the principles and applications of high pass/low pass filters. I also reviewed the basics of mathematics and physics in this course, such as the period and frequency of waves, as well as Fourier transform, fast Fourier transform, and convolution of matrices.
Also, I applied the learned knowledge to analyze the characteristics of Chinese pronunciation. I used Audacity to analyze the initials, finals and codas in Chinese words, using both frequency spectrogram and EAC analysis. See Language Analysis
User Interfaces - CS 349
Using React and TypeScript, I have learnt the theoretical knowledge of User Interfaces, including the basics of human-computer interaction, the design of user interfaces, and the architecture of user interfaces (MVC, MVVM), as well as various input events.
Although this class did not explicitly ban generative AI, our teacher considered this factor—we can only use the library provided by the teacher, which is very subtle and does not allow for code to be autogenerated by generative AI. Therefore, I spent a lot of time on this course. We had a total of four assignments, and I spent about 15 hours on each assignment on average. Don’t forget, we also had midterms and final exams!
Application Development - CS 346
With a group of 4, We used Kotlin to build an Android application, to simulate UWFlow (a webpage for rating classes and profs) but a job one. I did the News section, where I added several RSS sources, formatted and displayed in the frontend; the job display section, where fetches from database and used different styles to display data; and ‘post review’ section, which does a update or create for the selected database records.
We used compose UI for frontend, ktor for backend and API, and Azure as the cloud db server. After finishing and realizing the difficulty of developing in native Android, we have a more understanding of the difference between native Android and more modern ways (such as React).