Hi, my name is Dylan
I'm a Computer Science student and an aspiring Software Engineer

About me

Profile Image

I'm currently a Year 3 Computer Science student at the National University of Singapore specializing in Database Systems and I'm expected to graduate by December 2022. I'm also currently a Software Engineer intern at PayPal, working on an internal regression testing tool for the Global Payments team.

I also love exploring new tech stacks and I have some full stack experience through my past projects and experiences but I am now looking to focus more on backend engineering.

In my free time, I usually work on side projects, read engineering blog posts, catch a movie with my friends or enjoy a good cup of coffee.

As of late, I've been particularly interested in learning how to build scalable applications and have been reading engineering blog posts on platforms such as Medium to learn more about Distributed Systems as well as their real-world applications.

View Resume

Experience

NUS

Natonal University of Singapore

Jun 2021 - Present

Software Developer

  • Developing CATcher, a NUS-Open Source Software used by over 800 students for anonymous peer testing of software every year
  • Spearheaded the implementation of issue dispute features in Angular, such as displaying the disputed issue severity and types
  • Improved code quality of the CATcher codebase through refactoring of code and reviewing of pull requests
PayPal

PayPal

May 2021 - Present

Software Engineer Intern

  • Building Flexter, an internal tool that is used for regression testing of new code changes in the Payments API using Java Spring and MySQL as part of the Global Payments Team
  • Use Apache Kafka to stream live data from the Payments API into Hadoop where MapReduce is used to process large payloads of data.
  • Add enhancements to the Payments API using internal libraries to intercept and save live requests and response data that is to be used by Flexter
Developer Student Club

Google Developer Student Club NUS

Sep 2020 - Jun 2021

Software Engineer

  • Planned the relational database schemas, implemented querying using Sequelize ORM, and set up the server REST API endpoints to manage postings of Products, Stalls, Hawkers and Reviews for Project Digital Kampung
  • Implemented JWT-based login, registration and password reset features
  • Developed an Image Management feature for administrators to delete, view and upload hundreds of images on the web application with ease
  • Built a user management feature on the admin console with React so that administrators are able to update user information
Cynopsis Solutions

Cynopsis Solutions

Dec 2020 - Feb 2021

Software Engineer Intern

  • Built the company’s Billable service using NestJS, allowing the company to automate the updating and tracking of clients’ credits
  • Wrote a migration script to migrate more than 25,000 different entries to a new database with a different database schema, saving the company up to hundreds of man hours
  • Developed the company’s Athena software API using Django to support front-end charting features that have been shipped out to all 500 clients
NUS

Natonal University of Singapore

Aug 2020 - Nov 2020

CS2030S Teaching Assistant

  • Teaching Assistant for CS2030S Programming Methodology II.
  • Tasked to teach students about Object-Oriented Programming and Functional Programming in Java.
  • Received an excellent rating of 4.8 / 5.0 from my students for my meticulous teaching, compared to the faculty average of 4.2.

Education

PayPal

National University of Singapore

Aug 2019 - Dec 2022

Bachelor of Computing in Computer Science

  • Coursework: Software Engineering, Database Systems, Operating Systems, Data Structures and Algorithms

Projects

CATcher

CATcher is a software application that is available on both web and desktop versions. Users of the software are able to anonymously test software and provide feedback on it. It is integrated with the GitHub API as bug reports are stored on repositories across GitHub.

It is used by hundreds of NUS students for their Software Engineering module Practical Exams every semester.

Built using Angular, Electron and integrated with the GitHub API

Source Code Demo

Digital Kampung

Digital Kampung is a digital platform that aims to connect the thousands of hawker stalls under the Federation Of Merchants' Associations Singapore (FMAS) with consumers. This application aims to help hawker stalls establish a digital presence during this pandemic, by allowing hawker stalls to market their food products and consumers to find specific food types in their area.

Features of the web application include search functions, user reviews and an admin console.

Built using React, NodeJS, Express, PostgreSQL and hosted on Google Cloud Platform

Source Code Demo

Chit Chat!

Chit Chat is a real-time video calling web application that allows users to video call and chat with other users. The application uses the event-driven Socket.IO (Websockets) and Simple-Peer (WebRTC) to implement the backend logic

Built using React, Material-UI, NodeJS, Express, Socket.IO, Simple-Peer

Source Code Demo

Latest Movies

Web application that allows one to search for the latest trending movies and its details. Features include search, pagination and an automatic slideshow

Built with React, Redux, NodeJS, Express and Redis for caching. TheMovieDB API is used to retrieve the data about the latest trending movies. As the movie data retrieval can be quite slow at times, Redis is used to cache the movie data and speed up the data retrieval.

App is hosted on AWS (Using S3 Bucket and Cloudfront).

Source Code Demo

Easy Feedback

Easy Feedback is a web application that allows users to collect feedback from customers easily. Users sign in using their google account, purchase credtis using Stripe and craft the email survey they wish to send out to users and SendGrid will take care of the mass emailing to the intended recipients

Recipients can respond to the email and the tabulated response of the recipients will be displayed on a dashboard inside the web application

Built using React, NodeJS, Express and MongoDB. Utilized Google OAuth for authorization, Stripe for payment, SendGrid for Emailing

Source Code Demo

Expired Liao

Cross-platform mobile app to help users track their food items and expiry dates. App will send push notifications to remind users of their expiring food. The app also provides the current month's report of food that has expired

The mobile app is built using React Native, Redux and Firebase. Firebase served as the database and was used to support authentication features.

Source Code Demo

Languages, Frameworks and Tools

Languages

javascript typescript python java

Frameworks, Libraries and Tools

react angular redux nodejs express nestjs django spring mongodb postgresql mysql redis kafka hadoop amazonwebservices docker

Contact

I'm currently looking for internship opportunities. Whether you have an internship opportunity for me or have a potential project in mind, just drop me an email!

Contact Me