🕹️ ARTIFICIAL INTELLIGENCE

GANime: Generating Anime Character Drawings from Sketches

In this project, I developed neural style transfer, Pix2Pix, and CycleGAN models for generating realistic colorized anime characters from sketch drawings. My final program produced high-quality images, attaining an FID score of 220.5 and an SSIM index of 0.76.

My tech stack included Python, TensorFlow, AWS, and Google Colab. My teammate and I successfully presented our final product to 100+ students.


Demo of GANime's outputs.
Input image (left), ground truth image (middle), generated image (right).



Poster for the final presentation.


FlapAI Bird: Training AI Agents to Play Flappy Bird

I implemented an AI program to play Flappy Bird automatically, achieving high scores of 2,000+. To achieve that outcome, I applied several reinforcement learning approaches such as SARSA, Q-learning, function approximation, and deep Q networks.

I leveraged the following technologies: Python, PyTorch, Pygame, and OpenAI Gym. My team of 2 members had a presentation for 50+ students at the final poster session.


Demo of the Flappy Bird AI agent.



Poster for the final presentation.


Privacy Preserving Inference of Personalized Content for Out of Matrix Users

In this project, I researched and developed a NLP driven recommender system that leveraged BERT and graph neural networks. The model was able to generate rich content embeddings, enhance cold start generalization, and create privacy-preserving user experience.

I used the following framework in my code: Python, PyTorch, HuggingFace, NumPy, Pandas, Azure, and Google Colab.


The model architecture of the recommender system.


How Not to Give a FLOP: Combining Regularization and Pruning for Efficient Inference

My team of 3 computer science researchers combined soft filter pruning with mixup and cutout regularizations to reduce the computational complexity of the ResNet architecture by 15% with a 2% increase in its accuracy level.

I implemented and trained the deep neural networks using PyTorch Lightning and Weights and Biases. We wrote a paper and deveivered a presentation to 4 professors and 40+ students at the end of the project.


Steps of soft filter pruning, from He et al. (2018).



Illustration of mixup, from Zhang et al. (2017).



Cutout applied to images from the CIFAR-10 dataset, from DeVries & Taylor (2017).


MangaNet: Building an Object Detection System for Mangas

In this project, I developed several object detection models, including FasterR-CNN, RetinaNet, and YOLOv3, to localize and classify objects in manga pages, My best model reached an mAP score of 71.0.

My teck stack included Python, PyTorch, NumPy, Pandas, and Google Colab.


An example of object detection made by the model.


Mapping Income Distribution with Machine Learning

I built a machine learning program to predict income distribution in California based on satellite imagery. My system achieved a mean absolute error of $50/month. I implemented the program in PyTorch, Scikit-learn, Scikit-image, NumPy, and Pandas.


Region specified by the training data.


🌐 WEB DEVELOPMENT

Photo Sharing Web Application

In this project, I built a photo-sharing web application that supported user authentication, user profiles, user listing, photo sharing, favorite lists, commenting, activity feeds, and so on. I applied the model-view-controller design pattern for the app.

My tech stack consisted of JavaScript, React, HTML, CSS, Express.js, MongoDB, and Node.js.


Demo of the photo sharing web app.


Stock Charts for Traders

This project aimed to develop a web application as part of the JPMorgan Chase’s Software Engineering Virtual Internship. In particular, the web application provided an interactive dashboard that tracked and visualized daily movements of stock data in a clear and visually appealing manner as well as provided alerts for potential trading opportunities. Hence, this visualization of stock data feeds allowed users to monitor potential trade strategies.

I implemented the program using Python, TypeScript, React, and the open-source Perspective framework.


Demo of the stock visualization web app.


Shiptivitas To Do App

I completed this product during the Train to Work at a Y Combinator Startup program. Specifically, I built a simple to-do list web application based on a kanban style board. This tool would support freight shippers to easily manage their shipping requests, thus increasing their shipping productivity and speed.

I leveraged JavaScript, React, Node.js, SQLite3, HTML, and CSS when coding up this application.


Demo of the Shiptivitas to-do app.


📱 APP DEVELOPMENT

Game 2048

In this project, I implemented a simple version of the interactive game 2048 in Java.


Demo of the game 2048.


📊 DATA SCIENCE

Modeling Exchange Rates During Thailand’s Crisis: An Econometric Perspective

I worked on a team of 5 members at Vietnam Summer School in Research. We conducted in-deph analysis of movements in exchange rates and capital outflows during Thailand’s financial crisis with the use of statistics, data visualization, and vector autoregression.

I wrote code for statistical and econometric models in Python, R, and Stata. My team delivered a final presentation to 4 instructors and 50+ students at the end of the program.


A comparison of variations in exchange rates and net exports in Thailand.