
Work
Software Engineer (at ResponderHQ) Apr 2024 - Apr 2025
Overall job responsibilities: Full stack development of an incident management system.
1. Improved software quality and performance of the system by applying best practices such as asynchronous processing, modular architecture, reusable code, and adherence to SOLID and DRY principles.
2. Built a collaborative planning tool for admin users to plan and allocate teams and resources, handling both frontend interactions and backend logic.
3. Enhanced the map feature by refactoring the backend for object-oriented design and reusability, adding real-time tracking and status updates, and improving the frontend with interactive features like search and filters.
4. Added messaging and document storage capabilities to individual incidents, then adapted and reused the implementation to support regions as well.
5. Complemented the existing mobile app notifications system by implementing web app notifications using Firebase Cloud Messaging (JavaScript) for client-side delivery and Google Cloud Functions with Pub/Sub for backend processing.
Software Engineer (at ImageCloud) Feb 2021 - Apr 2024
Overall job responsibilities: Building AI applications, AI R&D, and general software development.
Projects:
1. Image Enhancement Project - an application that can do photo retouching for customers:
1.1 Designed, optimized, and applied computer vision algorithms that would be involved in data preprocessing, using image processing libraries like OpenCV and Rawpy etc, along with techniques like SIFT, SURF, cosine similarity, feature maps etc.
1.2 Built a data pipeline in Python which automates preprocessing of the data, transforming it from the Imagecloud MySQL database raw data, to data ready for ML training stored in AWS S3. Tested the data pipeline to ensure robustness.
1.3 Built various GAN models using PyTorch on AWS Sagemaker, for image-to-image translation and super resolution tasks. Tweaked the models to improve training results. Tested individual components of the models to ensure correctness.
1.4 Built an API using FastAPI and Docker which facilitates usage of the machine learning model to enhance the images.
1.5 Built a simple Angular landing page with frontend logic to interact with the API, to be integrated into the full ImageCloud application by the frontend developer (my manager).
1.6 Designed and implemented an event driven cloud based architecture for the system, focusing on cost-effectiveness, scalability, maintainability, and extensiblity.
2. Admin App Project - an admin application to increase customer adoption and customer retention:
2.1 Integrated the Random Forest module I built for ImageCloud in my 2020 Final Year Project, which takes in all 15 or so fields of customer information, and classifies customers into categories of engagement, fed into the admin app rules engine.
2.2 Implemented an Associate Rules Mining module, which identifies and recommends related Imagecloud features to the ones customers already have.
2.3 Extended the rules engine by automating administration workflows using certain business rules, using classification and clustering algorithms to fit business rules to customer types.
3. Day to Dusk Project - an application that transforms day images into dusk images for customers:
3.1 Implemented an image classification module via transfer learning on a pretrained CNN, to classify day and dusk images from the Imagecloud database.
3.2 Trained the data on an Imagecloud pre-existing ML model, to transform day images into dusk images.
4. Annual Research: completing research tasks for the yearly Research Grant (R&D Tax Incentive). Among them include:
-
increasing the efficiency of image similarity algorithms
-
improving the architecture of GAN models
-
increasing the efficiency of the associate rule mining algorithm
Software Industrial Work Experience (at HVCCC) April 2020 - December 2020
Implemented a software solution that optimized vessel stem generation for Hunter Valley Coal Chain Coordinator. A vessel stem is a job list comprised of ship vessels and their coal cargo, based off required demand. The software solution thus optimizes allocation of ship vessels for coal exports. This project's solution decreases the time needed to produce a vessel stem by 50% by utilizing a metaheuristic algorithm instead of the pre-existing heuristic algorithm solution.
Project Tasks:
-
Implemented a simulated annealing metaheuristic module in Python.
-
Integrated the simulated annealing module into the HVCCC codebase, ensuring it's in accordance with HVCCC business procedures.
-
Optimized the simulated annealing module for runtime speed.
-
Tested the simulated annealing module.
-
Ensure the module meets HVCCC business requirements (i.e. speed, business output, synchronization with existing codebase, coding style).
Pre-project Training Tasks: