//About

Hello! My name is Zihua, and people call me James. I graduated from University of California, Santa Cruz in 2018 and majored in Computer Science. I am a full-stack software engineer at IDbyDNA, which is a bio-tech company that uses Machine Learning to identify pathogen and disease to improve human health. Currently, I am leading the design and the full development life cycle of a web application from front-end to back-end by using React, NestJS and GraphQL. I am very proud of this application because it has been used by many different countries' lab scientist to manage and generate report files which are processes by a machine learning pipeline to identify pathogens and disease. Before I joined IDbyDNA, I am a DevOps fellow at Insight. The project I worked on was about building an automation pipeline on AWS using Jenkins, Docker, and HashiCorp Vault to automatically secure sensitive data which involves API Keys, usernames and passwords. Before I came to Insight, I was a Cloud Operation Engineer Intern at Qualys. In Qualys, my main responsibility was managing more than 6 thousands of virtual machines, focusing especially on automation deployment and metrics utilizing Puppet, Ansible, and many microservices. It also involves writing Python and shell script for pulling metrics like CPU, memory data that are most important for the company.

During weekend, I play ping pong and swim with my friends. Oh yeah, at UCSC, I was the founder of the table tennis club. Let me know if you want to ping me 🏓. Besides sports, I also like to travel. When I was in college, I went to study abroad at the National University of Singapore (NUS) and studied android development, openGL, and use java to create a task manager program.

//Projects

I like to build things and be creative. I have worked on different kinds of projects with variety of languages and technologies. Below are some projects I did while studying in college and in my spare time. You can find all the projects I have done on my github.

<Mini Timer/>

Simple timer and stopwatch electron app. Users can set a customize time to count down. When the time reaches, the app will also send a notification.


<Deep Shirt/>

Deep Shirt is one of my most proud projects. It was built during the UCSC Hackthon event in a team of five people, and we are from four different countries :)
This application helps users design and customize t-shirt by the power of machine learning. It is powerful and easy to use. Users pick or upload a content image + pick a style image = both images are merged to a unique t-shirt design! In the frontend, we use react and bootstrap to make our app can run on both desktop and mobile devices; in the backend, we use tensorflow and google cloud to generate the design; and all the image data and user data are stored in Firebase.


<Coding/>

Coding is a pair programming platform for people who loves coding. You can compile and run your code with more than 10 languages! It supports syntax highlighting, code autocomplete, and passing custom input. Also, you can create a custom room; other users can join in your room and pair programming together. This app is built on top of React, Microsoft Monaco Editor, and integrated with different language servers.


<Awesome Places/>

This is a React Native app, so it can be built for both Android and iOS. In this app, there's an authentication system that's managed by the firebase auth api. Users can upload their pictures as well as locating or marking a location of the place. All the pictures and locations are stored in the firebase realtime database. If users want to delete their pictures and location, the data will be automatically deleted in the cloud, so it's private and safe. This app is also available in the Google Play Store.


<Chatboting/>

The chatbot is able to help UCSC Students quickly search class schedule, classroom location, professor of the class, ge of the class, and the prerequisite of the class. In addition, it can also have a simple conversation with the user, forecast weather, and help search images. User can simply open their Facebook messenger app and scan the above QR code to start chatting.


<College Length Estimator/>

This is a team project in my web application class at UCSC. It is a web application that used CakePHP as framework and implemented Bootstrap. This app gives UCSC students an estimate on how long it would take to complete a set number of courses under ideal conditions, so that students have a general idea of how to schedule their courses.


<JYM/>

This is a desktop task manager program I developed with my other two classmates at NUS. It has a GUI, but most of the user interactions happen using a CLI (Command Line Interface). This program supports CRUD (Create/Read/Update/Delete task); in addition, it supports search, undo, and sorting tasks.


<Random/>

This is my first android application developed with my friend James Deng. Many times, we face a situation that we don't know which restaurants or food we should go to eat. Even though it is just a simple random function, it is hybrid and also implemented SQLite database and Google Nearby API, so that it easily help user search nearby places and give direction.


<OpenGL/>

These two images are coded in c++ using opengl library. They are my computer graphic class assignments. For the first ray traced four spheres image, I implemented shading, illumination, and shadows on each of the sphere. For the second gif image, I drew some planets that are surrounding the sun, and they are animate.

//Contact

On the right sidebar, there are my linkedin and github profiles. Interested? Email me at jameshuanguc <at> gmail.com and let's be friends!