James Hahn

Programmer. Thinker. Builder.

Recent News

October 2019: I was accepted as a reviewer for Machine Vision and Applications, a bimonthly computer vision journal.
October 2019: I was accepted as a proposal reviewer for the President's Undergraduate Research Award (PURA) at Georgia Tech.
October 2019: We had a journal article accepted to TPAMI 2019 titled "Interpreting Rhetoric of Visual Advertisements". [Paper]
August 2019: Had an extended abstract accepted to the MDALC workshop at ICCV 2019 (Seoul, South Korea). [Paper] [Poster] [Slides]
August 2019: Began my Master's in Computer Science at Georgia Tech in Atlanta, focusing on computer vision and machine learning.
August 2019: Finished my research internship at Sony in Tokyo, Japan, focusing on ingredient recognition for a robotic cooking assistant.
April 2019: Received an NSF REU from Dr. Adriana Kovashka to continue advertisements research over the Summer.
April 2019: Had an extended abstract accepted to the CV-COPS Workshop at CVPR 2019 (Long Beach, CA). [Paper] [Poster]
April 2019: Graduated with a Bachelor of Philosophy in Computer Science from the University of Pittsburgh with minors in mathematics and statistics.
April 2019: Committed to Georgia Tech for my Master's in Computer Science with a thesis, beginning in Fall 2019.
April 2019: Successfully defended my bachelor's thesis.
March 2019: Served as a mentor at SteelHacks 2019.
February 2019: Served as a mentor at TartanHacks 2019.
February 2019: Returned to AAAI-19 (Honolulu, HI) to serve as a robotics AI workshop teaching assistant.
January 2019: Presented current progress on my thesis work at the University of Pittsburgh Honors Research Fair.
December 2018: Wrapped up interdisciplinary research seminar through the honor's college, attending PhD defenses, technical/non-technical talks, and grant/proposal workshops.
November 2018: Received the CURF fellowship for my bachelor's thesis.
August 2018: Began my senior year of undergraduate studies.
August 2018: Attended SIGGRAPH 2018 (Vancouver, BC) as a conference student volunteer.
June 2018: Attended CVPR 2018 (Salt Lake City, UT) to help my research advisor co-organize a workshop on advertisements.
June 2018: Started internship at Hulu as a software engineering intern on the Ad Platform team.
May 2018: Received the THINK fellowship for my bachelor's thesis.
March 2018: My thesis proposal for acceptance to the Bachelor of Philosophy program through the Honor's College was successful.
February 2018: Attended AAAI-18 (New Orleans, LA) to serve as a robotics AI outreach workshop assistant.

About Me

Currently a graduate student at Georgia Tech. Learning everyday doesn't just stop after college; it follows you throughout life.

My love falls with engaging young coders and exciting them about the fascinating world of computer science.

I possess both extensive software engineering (preferably back-end development) and research skills, allowing me to fit into a variety of roles.

My research interests include human-visual reasoning, perception, and machine learning. With my previous research experience, I seek to develop the next best computer vision products.

If I'm not responding to your emails, I'm either watching tennis/soccer, playing sports, busy coding, or watching a new psychological thriller movie.

Currently looking for Summer 2020 research and internship opportunities. Let's get in touch.

Technical Skills


Advanced: C++, Python, C, Java, R, MATLAB
Intermediate: JavaScript, Node.js, ReactJS, HTML, CSS, SQL
Been a while: UnityScript, OpenGL

Data Science Tools

Advanced: Sci-kit Learn, NumPy, Tensorflow / PyTorch, Pandas, OpenCV
Intermediate: OpenMP, OpenMPI, OpenACC, CUDA, Caffe
Been a while: Jupyter

Development Tools

Advanced: MySQL, Git/Github, Confluence
Intermediate: TFS, SQL Server, DynamoDB, AWS S3
Been a while: Jenkins, Gaia, JIRA


Advanced: Raspberry Pi
Been a while: Arduino, Amazon Alexa


Advanced: Unit testing, Agile Methodology, Version Control
Proficient: Spanish

Operating Systems

Windows, OS X, Unix/Linux



Research Intern (Sony Computer Science Laboratories — Tokyo, Japan)
May 2019 - August 2019
Work in progress -- will update soon.
Software Engineering Intern (Hulu — Santa Monica, CA)
June 2018 - August 2018
Work in progress -- will update soon.
Security Intern (CMU Software Engineering Institute — Pittsburgh, PA)
September 2017 - April 2018
Work in progress -- will update soon.
Software Engineering Intern (JP Morgan Chase — Chicago, IL)
June-August 2017
During this internship, I worked in a team of four to develop a mobile application for JP Morgan's Credit Card line of business. We used ReactJS for front-end, Java for back-end, and Cordova to deploy the application to both iOS and Android. I contributed to the overall full-stack development on the team and helped successfully deploy the application to the cloud.
Machine Learning Forum Mentor (Udacity — Remote)
July 2016 - August 2017
On a daily basis, I answered the questions of Udacity's Machine Learning Nanodegree's students. In order to do this, I had to understand machine learning concepts and appropriate data analysis libraries, such as Sci-kit Learn, NumPy, and Pandas (all in Python).
Software Engineering Intern (MRI Software — Solon, OH)
May-August 2016
Throughout the internship, I worked on several projects. The main project was a web application using the ASP.NET framework and the MVC architectural pattern in JavaScript, AJAX, and C#. Also, I worked on the back-end of a dynamic news/information navigation bar viewable to all clients, which was put into production.
Undergraduate Teaching Assistant (Uni. of Pittsburgh — Pittsburgh, PA)
January - April 2016
Worked as a teaching assistant for CS0007 (Intro to Computer Programming with Java). Every week, I held labs to explain object-oriented concepts to 29 students. In addition, students could come to my bi-weekly office hours for additional help. This experience helped me develop strong skills with patience, leadership, time-management, and explaining concepts smoothly.


Graduate Researcher (Georgia Tech)
August 2019 - Present
Work in progress -- will update soon. recipe2video task.
Undergraduate Researcher (University of Pittsburgh)
October 2018 - TBA
Work in progress -- will update soon. Computer Vision term project.
Undergraduate Researcher (University of Pittsburgh)
January 2018 - February 2019
Work in progress -- will update soon. Measuring Effectiveness of Video Advertisements.
Undergraduate Researcher (University of Pittsburgh)
August 2018 - April 2019
Work in progress -- will update soon. Bachelor's Thesis.
Seminar in Conducting Research (University of Pittsburgh)
August - December 2018
Work in progress -- will update soon.

Organizational Leadership

SteelHacks 2019 (Mentor)
TartanHacks 2019 (Mentor)
SteelHacks 2018 (Organizer)
University of Pittsburgh CS Club (Vice-President, 2017-2018)
CodeDay Pittsburgh (Mentor, 2017)
Investing Now Workshop (Mentor, 2017)

Research Leadership

President's Undergraduate Research Award (Proposal Reviewer)
AAAI-18 (Robotics/AI Outreach Workshop Assistant)
AAAI-19 (Robotics Workshop TA)
CVPR-18 (Workshop Co-organizer)
SIGGRAPH-18 (Student Volunteer)



THINK Research Fellowship (2018)
Chancellor's Undergraduate Research Fellowhsip (2018)
NSF-Funded REU (2019)
Bachelor of Philosophy Degree (2019)


Pitt Challenge 2017 (1st place)
CMU Datathon 2017 (Finalist)
JP Morgan Global Innovation Hackathon (1st place)
HackMIT 2017 (Best Re-imagination of the Financial Market)
8 other hackathons

Side Projects

Playlist Generator

Captcha Me
August 2018 - Present
Work in progress -- will update soon.
Playlist Generator
Hu Dat?
July 2018
Work in progress -- will update soon.
Playlist Generator
Playlist Generator
March - August 2016 (with intermittent updates)
Extracts a person's Chrome bookmarks from a list of input folders and converts YouTube URLs into an automated playlist. Serves 200 weekly users with ~225 daily impressions. Created with JavaScript, HTML, CSS, and the Google Chrome API.
Diagnose Me
Diagnose Me
February 2017
An Amazon Alexa skill that provides a preliminary self-diagnosis to the user by listing their 3 most common illnesses from their symptoms. Created and won 1st place at the Pitt Challenge, a 24-hour healthcare hackathon hosted at the University of Pittsburgh. Created with Node.js and several other services.
Job Explore
Job Explore
July - August 2016
Helps teenagers and adults search for careers that might fit them. Users can search by occupation or skill to see associated skills and occupations, respectively. After searching their set of skills, they'll discover exciting new occupations that best suit them! Created with PHP5, MySQL, JavaScript, HTML, and CSS.
Random Terrain Generator
Random Terrain Generator
January 2016
A random terrain generator using 2 algorithms: Midpoint Displacement (2D terrain) and Diamond-Square (3D terrain). Allowed me to mess around with a low-level graphics library for the first time. Pictures/video of each algorithm are on my Github. Created with LWJGL, a Java binding for OpenGL.
Udacity Projects
Udacity Projects
May - August 2016
In Udacity's Machine Learning Nanodegree, I have learned about unsupervised, supervised, and reinforcement learning using a series of different models. I have completed 5 projects and have an ongoing Capstone project. Written in Python with libraries Scikit-learn, NumPy, Pandas, and OpenCV.
Future Projects
Future Projects
Always ongoing!
I'm always working on something new. Whether it's with data science, games, web applications, low-level applications, or hackathon projects, you can find my new stuff on my Github!