Software Engineering Intern
June 2023 - August 2023
Collaborated with a small development team to modernize the legacy CNN Weather API, a RESTful API that powers CNN's Weather page, with a focus on increasing its scalability, reliability, and security.
What I Did:
Conducted extensive research on potential infrastructure models for the new API that utilize AWS services, presented research findings to the team, and pitched the solution along with a corresponding architecture diagram to a team of senior engineers. Reiterated the proposed solution to take feedback into consideration.
Leveraged JavaScript and the Node Express.js framework for request handling and routing, as well as Jest and Postman for testing.
Investigated possible methods to reduce the number of third-party API calls being made by the service to decrease costs and increase performance. Implemented a geocode-grouping solution in the app’s logic that is expected to reduce API calls by 30%.
Implemented Agile principles by participating in daily stand-up meetings and utilizing tools such as Jira and GitHub to facilitate efficient communication and seamless collaboration within the team.
Click the button below to read more about my project!
Webmaster Chair
JULY 2022 - July 2023
I held the position of Webmaster for UF's chapter of the Society of Asian Scientists and Engineers (SASE). Along with maintaining SASE's website, I also served on the chair board and helped plan and run SASE's events.
What I Did:
Maintained and provided consistent updates to the UF SASE website.
Completely revamped the previous website’s design to communicate a more professional tone and improve the user experience. Added new features such as monthly blogs, SEO improvements, FAQs, interactive widgets, and a Sponsors page.
Collaborated with the SASE board to plan events, meetings, and programs for a membership base of over 600 people. Learned skills such as planning and following through with responsibilities in a leadership position.
Skills Involved:
·HTML, CSS, and JavaScript
·Wordpress
·Graphic Design
·UX
·Leadership
·Event Planning
Click the button below to see the SASE website!
Engineering Internship Abroad
JUNE 2022 - AUGUST 2022
This summer, I participated in an internship with Engineering Good (EG), a non-profit based in Singapore. I worked at their office in Singapore on two projects: a Service Allocation System for volunteers and automating their Notion database workflow.
What I Did:
I worked closely with Engineering Good's Laptop Fixers Community team to design a system they could use to keep track of and allocate laptop service requests to their volunteers. After creating a new system for them to use, I worked with another intern to write automations for EG's Notion workflow using the Google and Notion API.
More can be read about my two projects here:
Skills Involved:
·JavaScript
·Google API
·Notion API
·Assistive Technology
·System Design
·Google Apps Script
Undergraduate Researcher & Software Team Member
JANUARY 2022 - JUNE 2022
I helped conduct undergraduate research with the Machine Intelligence Lab (MIL) at UF during the Spring 2022 semester. I was a member of the software team and worked with a group of developers to program an autonomous robot.
What I Did:
As a member of the software team, I mainly helped prepare MIL's autonomous robot, the NaviGator, for a fully-simulated robotics competition, VRX. Though this specific competition was simulated, the NaviGator is a physical robot that is also entered into other non-simulated competitions.
The Beginning of the Semester
For about the first month of the semester, I worked mostly on setting up the MIL repository and installing the necessary software. I found the onboarding process rather challenging because of how new everything was to me. I also had a M1 Mac laptop, which was incompatible with almost every tool that MIL used. In retrospect, working through the onboarding process on an M1 helped teach me how to troubleshoot issues by myself.
I was able to put a lot of skills I learned in my classes to use. For example, we learned about the theory behind Git and version control, but now that I actually had to use to develop with others, I became much more familiar with it. In the process, I also learned the standard protocol of how to accept, work on, and publish solutions to the tasks I was given. The operating system that MIL used was Ubuntu, a distribution of Linux. During the beginning of the semester, I also had to get acquainted with Linux.
The Middle of the Semester
Throughout the semester, I attended weekly software team meetings, where we discussed our tasks, progress, and next steps. I found these meetings alone very helpful in showing me the development process.
Once I completed the onboarding, I was assigned my first task: I had to make a script to switch between development branches that automated other tasks that must also be completed before and after switching branches.
Before this point, I rarely had to use the terminal, so making terminal scripts was foreign to me. I did not even know what the term "bash" meant. I had to do a lot of research beforehand before I even had an idea about how I should go about solving my task.
One unexpected issue I came across was how difficult it was to keep my Git branches and commits organized, especially as a new Git user. I had to develop my scripts on one branch, but any time I ran or tested my scripts, I would be switched to another branch. To solve this, I had to do some additional research about the intricacies of Git branches.
Once I understood Git, I then had to work on automating the other miscellaneous tasks that I had to incorporate into my script. For example, I had to update submodules, recompile the code, remove certain files and directories each time a branch was switched, and change the contents of certain files in the repository to prevent errors.
Though the resulting script was rather simple, the process I went through to learn the topics necessary to write such a script was not. I eventually completed the script, learned how to push the remote repository, and got my merge request approved (after a few attempts).
The End of the Semester
My remaining few tasks I had to complete involved making world files that the NaviGator could be tested on. To do this, however, I would first need to learn and install the Robot Operating System (ROS). ROS is a framework used to develop robot software. To learn it, I worked through the ROS tutorials in ROS's documentation.
These world files are written in XML and simulated using Gazebo. In them, I can control various attributes of the world, such as light, objects, and terrain. For each of these world files, I changed these parameters so the NaviGator could be tested in different conditions. By the end of the semester, I created about 10 different world files, with each one aimed at testing the environmental conditions of specific tasks that the NaviGator will have to complete in the competition.
What I Learned:
In addition to all the technical skills I gained, I also came to the important realization that robotics aren't for me. However, I also found myself coming out of this experience with much more insight into how the development process works, something that will prove useful in other fields of computer science. As much as I enjoyed my time with MIL, I will likely be exploring other computer science fields in future semesters.
Skills Involved:
·Python and C++
·Git
·The Development Process
·Ubuntu (Linux)
·ROS
·Bash Automations
SASE Intern
JANUARY 2022 - JUNE 2022
I am a member of UF's Society of Asian Scientists and Engineers (SASE) chapter. During my spring semester of 2022, I was a member of SASE Interns, a small group within SASE that helped the executive board organize events.
What I Did:
As a SASE Intern, I helped SASE Board plan general body meetings, events, and fundraisers. I worked on a team of other SASE Interns and helped with event logistics.
One of the big events my team within SASE Interns helped organize was an egg tart fundraiser. Collaboratively, we brainstormed the best way to fundraise for SASE, how we should advertise and promote the fundraiser, how we will sell the egg tarts, how we will make the egg tarts, and other related logistics. Our fundraiser was a success and we were able to sell about 120 egg tarts.
Skills Involved:
·Leadership
·Event Planning
·Logistics
·Teamwork and Communication
Multimedia Committee Member
AUGUST 2021 - JUNE 2022
I was an active member in UF's Freshman Leadership Program (FLP). While participating in FLP's various events and meetings aimed at personal development, I was also a member on FLP's multimedia committee.
What I Did:
I was a member of FLP's multimedia committee, and helped produce digital graphics to promote the organization's events. In the fall, I was a member of the Winter Banquet Multimedia Committee and in the Spring I was a member of the AASU Week Multimedia Committee. Being on the multimedia committee helped me practice my digital design skills for wide audiences and how to collaborate with others to ensure that events run smoothly.
Skills Involved:
·Digital Design
·Leadership
·Event Planning
Rock Paper Scissors
My first web development project. Not big enough to warrant its own project page, but still nice to include. Click the button below to play!
Read More