This website and all of its contents are original* and were created by Nathan Chin. No website generators or templates were used. This website was developed from scratch using HTML, CSS, Javascript, jQuery, and a little ima{chin}ation.

*The only unoriginal content are the logos of the school, companies, and programming languages/libraries presented on this site. These logos are the intellectual property of their respective owners and only used to enhance this website.

Nathan Chin

Software Engineer - UT Austin

About

Allow me to {chin}troduce myself

We can skip the handshake this time

My name is Nathan Chin, and I'm an engineer, hacker, pun-enthusiast, and student. Nice to meet you!

This fall, I'll be a second-year student at the University of Texas at Austin. I'm currently studying electrical and computer engineering with focuses on software engineering and computer architecture. I'm also currently working on a minor in Business Foundations.

There are three words I like to use to describe myself: passionate, active, and available.

"People should pursue what they're passionate about. That will make them happier than pretty much anything else." -Elon Musk
I try to love everything I do because it makes life a little more fun. To add onto Elon Musk's quote above, I think that if you pursuing something you're passionate about, you will find yourself both happier and able to succeed in more ways you can imagine. When I chose to study electrical and computer engineering, I knew that I was setting myself up for a very hectic college experience. Classes would be difficult, labs would be confusing, and free time would be rare. I knew that, if I were to succeed in this major, I would have to really love what I was learning and develop a genuine interest and passion for class topics. At the start of the school semester, I tried to get super involved with stuff related to my major. I attended tech talks to learn more about the companies in industry, participated in hackathons to use my knowledge gained in the classroom outside of the classroom, spent extra time on lab assignments to understand the concepts, and joined student organizations to be around peers in similar majors. As a result I have

  • Developed a love for computer engineering and will be focusing my major on software engineering, computer architecture and embedded systems
  • Become an assistant officer for the IEEE student branch at UT Austin, an organization that provides networking opportunities and resources for ECE students at UT Austin
  • Become an organizer for Freetail Hackers, a group that runs hackathons like HackTX. In 2017 I was an outreach organizer, but for 2018 I have been elected as the co-lead of the organization
  • Become an organizer for the local hosting of Indigitous #HACK, a global missional hackathon, in Austin, TX.
"You have to put in the hours because there's always something which you can improve." -Roger Federer
I always like to keep myself doing something active. By being actively conscious about how I use my time, I am able to be productive and constantly improve myself. One way to see me doing this is how I use those awkward 1-2 hour gaps between scheduled classes at UT. I usually find a quiet building nearby to study my lecture notes, shoot some baskets in the gym to improve my basketball skills, or complete some of the small tasks on my to-do list for the day. As my tennis idol, Roger Federer, says in the quote above, there is always something you can improve if you put in the hours, so that's why I like to use my time wisely whenever I can. This includes school breaks during the winter or summer, when I am either working part-time, taking classes at a community college, learning a new skill, or simply practicing tennis.

"We make a living by what we get, but we make a life by what we give." -Winston Churchill
I am using the adjective "available" to describe myself because something that's important to me is always being available to friends and people who need support. I do this by making myself accessible to those who need support and by taking on opportunities to volunteer. Just as much as I enjoy spending my time with hobbies, I enjoy giving my time away to others who I can help out in any way. Some of the ways I've volunteered my time in the past are by I'm excited to be in Lincoln, Nebraska for summer 2018 as a software development intern for Hudl!

Hobbies

Stuff that I'm {chin}terested in

Should I include puns?

Learning

I looooove learning new things! It not only helps you to feel productive in using your time but also results in new talents and new viewpoints, possibly even new passions. Through some online classes and Youtube videos, I've learned how to program in new languages, play the guitar, and do a bird whistle without a whistle.

Playing musical instruments

Music has always had a big impact on my life. I started out taking piano lessons, then I joined orchestra and made some of the best music of my life for 7 years, and then just recently I picked up playing the guitar because it sounds awesome. Did I mention I love learning new things?

Video Production

Video production started out as a curiosity for me and ended up being my favorite pastime during high school. Besides applying it to every school project I could, I also placed in a few state competitions for video production and became certified as an Adobe Certified Associate in Video Communications.

Sports/Outdoor activities

I always have a lot of energy (except in the mornings), so I try to be active whenever I can. If I need a break from studying, I'll go shoot a basketball in the gym. If the weather is nice, I'll walk instead of driving. While I love most sports and outdoor activities, my absolute favorites are playing tennis, going hiking, and biking.

Eating

Getting to eat is one of the few consistencies in life that I can always look forward to. A good meal with good company and good conversations makes a great day. Fun fact, I may be one of the pickiest eaters I know, but nothing excites me more than hearing about the hottest new restaurants around me on Yelp.

Projects

Ways I've been chall{n chin} myself

I like to stay busy

ChillPill

Read more

Personal Website

Read more

Sward

Read more

WorldView

Read more

RoundUp

Read more

Tower Titans

Read more

ChillPill

What is it?

ChillPill is an IoT pill dispenser controlled by your smartphone (only available for Android). The product includes a physical pill dispenser powered by an Intel Joule compute module. Using bluetooth, a smartphone communicates to the dispenser to release a specified number of pills at a certain time. The Joule is connected to two DC motors, allowing for the dispensing of the pills from their containers. The Android app allows for users to create accounts, control when pills are released, and be notified of medication time.

Why did you build this?

This project was created at MedHacks 2017 following the medication adherance challenge presented by CVS Pharmacy. Medication adherance is a huge problem with about 50% of patients who stop taking medication within the first year of prescription. This project was created to help people a)remember to take their medication through phone notifications and b)make getting the medication easier.

How did you build this?

Most of this project is only conceptual because this was a hackathon project developed in 36 hours. However, the Android application was close to completion and a working model of the dispenser was created to show how the pills are dispensed. The app was created in Android Studio and used Amazon Web Services to store user account data (in DynamoDB) and allow user login. The pill dispenser model was created using materials available at the hackathon. Made completely out of pizza/Rice Krispie boxes, hot glue, and string, the dispenser was a rough model of what the dispenser is supposed to look like (we actually CADed the real dispenser for 3D printing but there wasn't enough time or resources to print it). An Intel Joule compute module and DC motors were attached to the model, and it actually dispensed pills as it should in the real model.

Challenges faced?

There were a lot of challenges with this project. The workload was a lot heavier this time because we decided to incorporate hardware by creating the working model of the dispenser and software by creating the phone app. Also, only 3 members of the team had programming experience, so programming the microcomputer for the dispenser and the Android application were pretty much individual roles. With this in mind, I'm super proud of what we were able to accomplish during the hackathon time and how prepared we were for the presentation. Lastly, a lot of challenges we ran into were with new technologies being used, such as AWS and Bluetooth connection. Bluetooth connection was actually never complete. We were only able to connect the devices but not send information between the two.

Your contribution?

My contribution was the Android app built to communicate with the Intel Joule board and send notifications to the user. I initially incorporated AWS sign-in with the app, but decided to customize the accounts more by storing user data into Amazon DynamoDB. So the design of the app and all of its development came from me (with advice here and now from other team members of course).

Stats:

Time spent: September 8, 2017 - September 10, 2017 (36 hours)

Teammates: 4 (Peter Nguyen, Eric Wang, Jessica Wu, and Lauren Fang)

Tools used: Java, Android Studio, DynamoDB, Amazon Web Services, and an Intel Joule compute module

Links:

Github

Devpost

Things learned:

• There are a lot of applications for the tech industry in the medical industry

• Working on projects is a great way to meet new people. I worked with people I had never met before and we not only worked well together but also relly enjoyed the experience

• Using harware on projects is a great way to get attention at hackathons

• There are a lot of real problems in the medical industry and a lot of ways technology can help

Looking to the future:

• Finish the app and try to work with the hardware myself

• Become more comfortable using AWS and databases

• Try to find more real life applications for projects I work on

Personal Website

What is it?

This is an original website created to act as my detailed and interactive resume. The website was designed to be responsive and viewed on any device.

Why did you build this?

Without an internship for the summer, I decided to dig into a project that would allow me to a) Learn some new skills, b) Explore an area of the tech industry I had no experience in (i.e. web development), and c) Show it off upon completion.

How did you build this?

For about half of the summer, I spent a couple of hours a day taking courses and reading books about web development languages such as HTML, CSS, Javascript, and jQuery. After that, I mapped out how I wanted the website to look and where the assets would go, and then made it a reality. I spent the rest of my summer designing graphics and piecing together the website I had modelled out on paper. All of the coding I did was in Adobe Dreamweaver because it allowed me to live preview the website as I worked. To publish this site, I used Github Pages.

Challenges faced?

One of the biggest challenges was choosing which tools to learn when building my website. With so many popular tools available right now, I decided to focus on learning the basics (plain Javascript and jQuery), hoping the knowledge will prove useful later if I decide to learn some JS frameworks. Because of this, writing the code and working on this project was definitely a lot harder than it could've been, but it was a great experience looking back.

Your contribution?

I was the only one working on this project so I'm happy to say I contributed a lot :)

Stats:

Time spent: June 2017 - August 2017 (~2 months)

Teammates: 0

Tools used: HTML, CSS, Javascript, jQuery, Adobe Illustrator, Adobe Dreamweaver, and Google Analytics

Links:

Github

Things learned:

• My first experience with web development, so everything!

• Front end development is very tedious, but the results are definitely worth it

• Always plan out your designs well before beginning the code (I completely changed the format of my site halfway through because I ended up not liking the look of it)

• I feel like I understand HTML/CSS/JS/jQuery a little better because I relied less on Stack Overflow and online resources when it came to solving problems. I spent more time in the beginning actually learning the languages, and found my own way to solve the problems that I faced

• Designing is a lot of work, especially since all of the graphics were self-made

Looking to the future:

• Change the format of the website in later years

• Learn more backend development to enhance the website and get into full stack development

• Start looking into popular JS frameworks and libraries

Sward

What is it?

Sward is a multiplayer, sword-fighting sidescroller video game. One player's goal is to reach the finish line and the other player's goal is to prevent that from happening for 2 minutes. The game is run on a TM4C123 TI microcontroller, and the players use 3D printed controllers to move their characters.

Why did you build this?

The embedded systems class I was in during spring 2017 (EE 319K) hosts a handheld video game competition every semester with the sponsorship of Texas Instruments. By using knowledge gained in the class, students are asked to create any handheld video game they want, and my partner and I decided to create ours based on the existing game Nidhogg with a twist.

How did you build this?

With very careful planning and long nights. For our first few work days, my partner and I met in empty classrooms and used the whiteboards to write every single requirement for the game and how the game itself would be designed. From there, we worked on together and individually on the small components of the game (like 3D printing the controllers, reading input from the joysticks and buttons, creating the physics engine, drawing graphics onto the screen, etc.) until we were able to piece them into bigger components and test those. We made sure that, at each level of development, the components were functional. It helped that Kylar and I went above and beyond on the previous labs for this class because, for this final lab, we were able to reuse a 6-bit DAC to play our game soundtrack (with chords!) and our ADC for joystick input.

Challenges faced?

One of the our biggest challenges with this project was learning how to work with stuff we weren't familiar with. For example, we had never before used joysticks in the class, but we purchased two to use in our game. Although familiar with ADCs and how to read analog input, I had to learn how to read input from the joysticks by myself by looking at documentation and trial/error. Another big challenge we faced was condensing the game to fit onto our microcontroller. We had only 256 KB of flash memory to store everything about our game, including the code, the background map image, the music chords, and over 100 sprite graphics. We had to find ways to save memory like by reducing image quality, but we ended up having just enough memory using 255 KB.

Your contribution?

Besides creating every single graphic used in the game, I also helped by writing all of the collision code (checking if players hitting a wall, hit by a sword, etc.), assisting with the physics engine, translating the game music to be used in our game, making the ADC and hooking up the joysticks and buttons, and writing a lot of the accessor methods to check the player states. Also, similar to my role when working on Tower Titans, a huge contribution of mine came in the beginning organization and designing of the game.

Stats:

Time spent: March 2017 - April 2017 (~1 month)

Teammates: 1 (Kylar Osborne)

Tools used: C, ARM assembly, Keil uVision IDE, Adobe Illustrator, TM4C123 Microcontroller, and a 3D Printer

Links:

• Check out photos taken on the competition day

Things learned:

• Saving memory has become a lot more important to me than I realized. It's not really something you think about when dealing with high-level languages, but it became a huge obstacle for us on this project

• Working with both hardware and software on the same project is actually really cool

• There is more to programming then just the high-level languages I've seen before (like Java)

• I respect the video game industry, especially Nintendo, a lot more now after seeing how they were able to compact games like Super Mario 64 with such little memory available

Looking to the future:

• Texas Instruments actually gifted me and my partner a BeagleBone Blue board for placing in the EE319K competition, so maybe attempt a project with it using bluetooth

• Remember the importance of memory usage with projects

• Definitely going to try to find ways to use hardware with my software projects

WorldView

What is it?

WorldView is a website that allows users to interact with a 3D data visualization model of Twitter sentiment. Users input any word, press enter, and are then able to control a point-of-view camera with the arrow keys to get a bigger picture of how the world feels about the input word. The site is called WorldView because 100 cubes are generated in the shape of the world, and based on Twitter sentiment, certain percentages of the blocks represent certain feelings.

Why did you build this?

I helped to build this at Earthack 2017 to be submitted for the Best Social Impact award. It was built to show users the bigger picture on how the world feels about different topics, especially for users who might be unaware of these feelings. For example, I might not believe climate change is affecting humans at all (not my actual opinion), but after searching the words "climate change" and reading data tweets from all over the world, I might see that a large percentage of the world sees climate change in a negative light, making me come to a realization that climate change might actually be bad.

How did you build this?

This project was built with three.js, HTML, CSS, and Bootstrap for the front-end and Flask and Python for back-end. With 5 people total on the team, the project was divided by front-end and back-end, and I was part of the front-end team. For 36 hours, we each worked on our own parts (see my contributions below), and near the end of the time we all came together to piece the project together, optimize the running speed, and create a presentation for our project.

Challenges faced?

The biggest challenge I faced was learning Javascript for the first time and then using three.js for the first time. I had to read the three.js documentation and complete the tutorials to even start putting stuff on the screen.

Your contribution?

I built the whole front-end of the WorldView website. Using three.js, I created all of the 3D cube objects on the screen, made a camera object that is point-of-view and moveable, and allowed for the cubes to be colored accordingly and shaped into a sphere.

Stats:

Time spent: April 21, 2017 - April 23, 2017 (36 hours)

Teammates: 4 (Abbas Ally, Jinseok Yeom, Avi Minocha, and Carlos Barahona)

Tools used: HTML, CSS, Javascript (Three.js), Python, Flask, Twitter API, and Amazon Web Services

Links:

Github

Devpost

Things learned:

• How to effectively teach myself something new for a hackathon

• Fruit snacks cannot keep you awake for 36 hours

• Hackathon teams should have a mix of amateurs and people who know what they're doing. My team consisted of three freshman and two upperclassmen, and having the upperclassmen there really helped fill in a lot of the gaps when it came to piecing our project together. I think everyone got something good out of the experience

Looking to the future:

• Try to get involved with more web development (more practical web development)

• Plan to have some upperclassmen in future hackathon groups

• Try to get involved with back-end development

RoundUp

What is it?

RoundUp is an Android application that helps you and your friends find the best time to meet up. One user creates the RoundUp by selecting desired date range of the event and the desired time ranges for the event. Once the RoundUp is created, other users can find the RoundUp event with the unique ID number and input their time availabilities. The best times to meet up are be displayed based on the number of time conflicts for each time.

Why did you build this?

This project started at my first hackathon (HackTX 2016). Having only worked on one other project, my partner and I decided to spend most of the hackathon learning new skills for this new project. We chose to build this Android application because Android Studio uses Java, a language my partner and I were already familiar with. There was almost nothing to show for this project after the hackathon, but the experience was so meaningful to me that I decided to start working on it again over winter break. I decided to continue working on it because this project showed me how fun it was to learn new languages and apply programming knowledge outside of a classroom setting. Eventually work on the project stopped due to the busyness of classwork, but the reasons why I started working on projects was impacted by this project.

How did you build this?

This project was built mainly in Android Studio. I spent a lot of the time at HackTX actually learning how to use Android Studio, but most of the work was done over winter break. I completed several Udacity courses on Android Studio to really learn about the IDE and how to properly develop Android apps. When it came time to build the app, I wrote code for everything. I didn't use the click-and-drag UI builder available in Android Studio because I wanted to really learn for myself and have full control over the design. My partner dealt with all of the Google Firebase implementations, and he placed it into my code in Android Studio for use in the app.

Challenges faced?

There were many challenges faced on this project. First of all, I had to learn how to properly develop Android apps. This included adapting the app for different screen sizes and making use of all the features on the Android OS (push notifications, etc.). Secondly, making the UI do exactly what you wanted was super hard. Formatting everything in XML was pretty cool, but I never felt like I had complete control of the objects, with margins and box models acting differently than expected. Finally, Android Studio presented a lot of runtime errors that make it difficult to build and run. There were times when even Stack Overflow couldn't fix out error messages, and it was very annoying in the beginning of the project.

Your contribution?

This project really impacted me a lot, so I ended up spending a lot of time with this project and writing most of the code in Android Studio. I designed the app, made the logos, and wrote the Java classes for the structure of the application. I left just about all of the Google Firebase learning and application to my partner, but as for the UI and functionality of the application, I did most of that work.

Stats:

Time spent: October 2016, December 2016 - January 2017 (1 hackathon & ~1 month)

Teammates: 1 (Vikas Peraka)

Tools used: Android Studio, Java, Google Firebase, and Adobe Illustrator

Links:

Github

Things learned:

• App development is super fun, but it's hard creating an app that can adapt to different screen sizes and operating systems

• Android Studio is really hard to use and learn, but app development is totally worth the struggle

• Android operating systems are used in so many different phones, making the UI very hard to design

Looking to the future:

• Finish the application and publish it on the Google Play Store

• Maybe try developing for Apple operating systems

Tower Titans

What is it?

Tower Titans is a single-player computer game. The goal of the game is to get the highest score by timing the landing of blocks to stack on a tower. With every imprecision, the subsequent blocks reduce in size, making the game more difficult as it progresses. The game is simple yet fun to play, and even includes special blocks to make the gameplay a little more interesting.

Why did you build this?

For the final project of my CS 3 high school class, we were tasked with developing our own game using Java. My teammates and I decided to build this game to replicate other tower stacking games; however, we made ours different with the incorporation of special powers with special blocks.

How did you build this?

The tools used were Java for the programming of the actual game and Adobe Illustrator for the graphics designing. We specially did graphical user interface (GUI) programming to display the game and see it run.

Challenges faced?

This was my first programming assignment and first time having to work on code with other people. Because we didn't learn Git in this class (which was a high school data structures class), one of the biggest problems was that we couldn't test run our files because everyone had a different piece of the project.

Your contribution?

My main contributions actually happened before the start of development. When we were given the project instructions, I formed the team together, I spurred the brainstorming of game ideas, I came up with the game design, etc. My role seemed to be more leader-based, making sure certain parts and tasks were completed on time and controlling design. I was still insecure about my programming skills at this time so I wrote only a few methods and did debugging, but didn't play a major role in the building of the classes and writing to GUI.

Stats:

Time spent: April 2016 - May 2016 (~1 month)

Teammates: 2 (Marcus Deng and Vikas Peraka)

Tools used: Java and Adobe Illustrator

Links:

Github

Things learned:

• My very first programming project!

• Good communication and accountability really help in working efficiently on a team

• Seeing the project work made all of the work worth it

Looking to the future:

• This project gave me a small gilmpse of what programming is able to accomplish and definitely sparked my interest for computer science

• Start to do more projects!

Contact

Thanks for cat{chin} up with me!

Let's stay in touch