Hi there! I am currently completing a Bachelor's Degree in Computer Science at the National University of Singapore, specialising in software engineering and computer security. My eventual career goal is to become a software engineer, with a longer-term aspiration of moving into management.
Subjects taken: General Paper, Biology, Chemistry, Mathematics, Economics, Mother Tongue (Mandarin), Project Work
Visual Studio Code • ReactJS • Node.js • MongoDB • IntelliJ • Android Studio • Firebase • Selenium • JavaFX/FXML • Gradle • CI/CD • AdobeXD • WordPress • MYSQL
Git • GitHub • BitBucket • SourceTree
[Final Report] [Presentation Slides]
DBS Bank Ltd is a Singapore multinational banking and financial services corporation that was established on 16 July 1968 and is headquartered in Marina Bay, Singapore. Over the years, DBS has continued to innovate and adapt to technological disruption, enabling her to be recognised as the World’s Best Digital Bank. Since its establishment, DBS has expanded into 18 markets across the globe with over 280 branches (DBS, 2018). This includes 6 priority markets in Asia, namely Singapore, Hong Kong, China, India, Indonesia and Taiwan.
I was attached to the Technology Service department under the Technology and Operations business function. My team was responsible for the development and support for CUS related application development work, which is critical especially during the Covid-19 pandemic, as most employees depend on collaborative services to work with one another while working from home.
During my internship, the team was working on a web application to monitor the availability and performance of CUS such as Microsoft OneDrive and SharePoint, as well as mobile services such as BlackBerry Work. The application relies on the use of bots to test variables such as login time, upload/download speed to determine the availability and performance of the services. In addition, the web application allows different departments to keep track of relevant metrics such as the breakdown of the number of company issued mobile devices by country and application utilisation percentage by displaying the data in the form of graphs and charts.
Major Tasks:
Minor Tasks:
Note: Screenshots are unpopulated with data for data privacy reasons.
Clickr Media is an Internet marketing consultancy. I interned in the tech department and was primarily involved in web development. On top of implementing client specifications, I was heavily involved in an individual internal project. I started part-time in October and November and transitioned to full-time during the winter break.
My task was to create a project and employee work hours management site to help project managers keep track of deadlines and hours expended for the projects under their charge. Additionally, project managers are also able to retrieve work hours clocked by each employee to ensure that all work is accounted for. They are also able to export project and work hours reports in the form of an excel sheet for easy dissemination. Finally, the site also sends out a task reminder to project managers' emails whenever a project is due in a few days.
My project has significantly improved internal processes of Clickr by automating the tracking process. Previously, many of these processes were handled via Google Sheets and there was a lack of automated reminders and updates. I have also incorporated the jquery plugin, DataTables, for fast retrieval and sorting of information.
Major Tasks:
Minor Tasks:
[Project Page] [GitHub]
Amazon Clone is a web application developed using React, with a Google Firebase back-end. This project was developed throughout the winter break in my third year of studies as a computer science undergraduate.
The purpose of this project is to explore full-stack web development, which we are not exposed to during the course of our studies. Visit the project page for an overview of the features implemented in Amazon Clone!
Technologies used: React, Firebase (authentication, functions and cloud firestore)
To answer program queries, the SPA must first analyze a source program and extract relevant program design entities, abstractions, Abstract Syntax Tree (AST), program Control Flow Graph (CFG) that are stored in a Program Knowledge Base (PKB). Secondly, the SPA must provide the user with means to ask questions about programs. These questions are written in a formal Program Query Language (PQL). SPA processes the PQL queries based on the information found in the PKB and returns the results to the user. The SPA was developed alongside 5 other computer science students from the National University of Singapore as part of a requirement for our software engineering module, CS3203.
Major Contributions:
Technologies used: C++
[Project Page] [Product Demo Slides] [Product Demo Video] [GitHub]
I participated in the 2020 APAC Code for Good virtual hackathon organised by J.P. Morgan, where teams were challenged to develop innovative technology solutions in 24 hours for nonprofit organisations under the guidance of JP Morgan's very own technological experts.
My team took on the challenge statement proposed by New Hope Community Services, which is an organisation that assists displaced individuals in their application for subsidized housing from HDB.
Our solution was to develop a progressive web app which provides a centralised and collaborative platform for easy updating of records and convenient tracking of client progress. To increase the matching accuracy between clients and potential flatmates, we employed machine learning techniques (K Nearest Neighbours algorithm) to compare the similarity across the different preferences and return the top 3 recommendations.
We emerged among the top 4 teams in our category. It was a really enjoyable experience collaborating closely with people I had just met for the first time.
Technologies used: Gatsby (React), Firebase, Figma
[GitHub]
I participated in the 2020 CodeIT Online Coding Challenge organised by Credit Suisse in the team category, where teams were challenged to solve as many coding problems of medium to hard level difficulty within a 24 hour period. My team placed 17th overall out of over 50 teams.
Technologies used: Javascript, Node.js, Heroku
[Personal Project Portfolio] [User Guide] [Developer Guide] [Product Pitch & Demo Slides] [GitHub]
Athletick is a team management desktop application for coaches and team captains of timing-based performance sports. Athletick provides them with athlete information managing, attendance tracking and performance monitoring. This enables them to better manage their team, plan for trainings and prepare for upcoming competitions. Athletick was developed alongside 4 other computer science students from the National University of Singapore as part of a requirement for our second-year software engineering module, CS2103T.
Major Contributions:
Main Takeaways:
Technologies used: Java, JavaFX, TestFX, FXML, Gradle, Travis (CI/CD), SceneBuilder, AdobeXD
PayWhere is an Android application that helps mobile payment users to find suitable dining outlets in shopping centres by displaying those that accept their preferred mobile payment platforms.
PayWhere contains all the information you need to dine and make payment easily, so you don't have to trawl through multiple websites.
PayWhere was developed over the summer for NUS Project Orbital. My partner, Dominique Ng and I were awarded Apollo 11, which is the highest level of achievement in this module for displaying strong evidence of project management, user testing and source code control.
Technologies used: Java & XML (Android Studio), Python (Web-Scraping using Selenium)
Trackr is a desktop application that helps you to manage tasks. Trackr is optimized for users who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
Technologies used: Java, JavaFX, FXML, Gradle, Travis (CI/CD), SceneBuilder
During my first year as a freshman in NUS, I won first place in the NYSI and SUNIG competitions, and first runner-up in NUS Open. I also had the opportunity to represent NUS overseas in the Panasonic 20th Asia Pacific Water Polo Tournament held in Hong Kong, where we faced national and state teams from Australia, Philippines and China.
My commitment to the team, coupled with my playing ability, resulted in my appointment as vice-captain in my sophomore year. As vice-captain, I am responsible for the management of team morale and ensuring a high quality of training. Moreover, I am involved in the organising of competitions and hosting of foreign teams. Recently, we hosted The Hong Kong Polytechnic University (PolyU), and I liased with the NTU team to organise a tournament, providing a good training experience for the PolyU team.
During my term as vice-captain, I have been successful in leading the team to a first place finish in the NYSI and SUNIG competitions. My captain and I aimed to have a clean sweep of first positions in every tournament the team plays in during our term as leaders.