Contact Me

Until I setup a server to forward emails, my email is hidden below.

Thanks Google Mailhide!

Darren Yin

Software Engineer

Nice ta meetcha!

I'm a California native who writes code, dabbles in digital design, and plays video games.

Education

M.S.E. in Software Engineering - Carnegie Mellon University, 2017

B.S.E. in Computer Science - University of Pennsylvania, 2016

Minor in Fine Arts - University of Pennsylvania, 2016

Minor in Engineering Entrepreneurship - University of Pennsylvania, 2016

Work Experience

23andMe - Software Engineering, 2018 - Present

Full stack web application developer using Python, Django, MySQL, HTML5/CSS, and JavaScript. I

Wayfair - Software Engineering Intern, 2015

Converted PHP pages into MVC format and created an internal web tool to migrate internal tickets from their MySQL database onto JIRA Agile and back using JS and PHP.

TutorIT Web - Software Engineering Intern, 2014

Worked remotely with international team and non-technical founder, an emeritus professor, to develop and test the company's web education software using proprietary High Definition Language.

Hearhere - Web Developer, 2013-2014

Developed on a social media Django web app, implementing an image uploading feature with Imgur's API and deployed it onto Amazon EC2 with a PostgreSQL database.

Languages

Python

Java

Javascript

C/C++

PHP

HTML5/CSS

Databases

MySQL

MongoDB

Redis

Frameworks

Django

Node.js

ReactJs

Hadoop

Ruby on Rails

Latest Work

This Site

Spring 2017

Made with HTML5, CSS, and Javascript.

A personal site project I began in senior year of undergrad, continuously being improved. Built using Pug (a templating engine formerly known as Jade), Sass (a stylesheet language), and Bootstrap 3.

The goal was to create a minimal, one page website with css animations. The main concept was from a main menu like system that would slide the relevant pages into the view port when navigated to.

Subreddit Recommendor

Spring 2017

Made with Java, Python, MongoDB, and Hadoop.

Term Project for 18-645 How To Write Fast Code. A foray into creating a faster and scalable Reddit subreddit recommendation engine using distributed computing with Hadoop and Amazon Elastic MapReduce on Amazon Web Services. Code base can be found here.

We preprocessed roughly 53 million raw Reddit comments from January 2015 (found here). A user's preference for a particular subreddit was denoted by an affinity score, the number of comments made in the subreddit over the total number of comments posted in that subreddit.

The recommendation engine utilized the K Nearest Neighbor algorithm, a collaborative filtering technique, to find the best recommended subreddit based on users similar in preference.

After preprocessing, we trained the recommendation model using Hadoop on AWS EMR. This involved two MapReduce jobs. The first job calculated the partial distances between each user for each subreddit. The second job took the output from the first and calculated the Euclidian distance between each user using the partial distances.

The output from the MapReduce program was inserted into a MongoDB database from which the recommendation python program would use to calculate the k nearest neighbors. Given a user that exists within the database, the program find the list of subreddits for each of the k nearest neihbors, and sums their affinity scores for each subreddit. The subreddit with the highest affinity score sum that the user is not subscribed to is recommended as output.

POWerNAV - AR Navigation

Fall 2016 - Spring 2017

Made in Java.

Created by a team of 3 for our Undergraduate Senior Design Project. We created a augmented reality navigation app on the Epson Moverio BT-200 smart glasses running on Android OS. Code base can be found here and our poster here.

Using OpenGL we created a digital model of the campus, mainly buildings and roads, with text labels overlaid. A navigation subprogram calculates the shortest path along existing roads to a destination. Directions are provided onscreen through the use of a colored path with arrows directing the user.

A demo of a school tour was created to demonstrated the usage of POWerNAV. Video demo of the app in action: here. We were one of the Runner-Ups for the senior design projects from the Computer Science department.

Hardware limitations make it difficult to prevent the digital model world from desyncing with the real world causing a break in immersion in the AR experience. However, apps such as ours has shown its potential use in indoor environments to give tours, such as in museums, where targets could be placed at strategic positions to resync the digital world to the real.

Study Buddy

Fall 2014

Made in HTML5, CSS, and Javascript.

Created by a team of 4 in 48 hours for PennApps Fall 2014, Upenn's semesterly Hackathon. A productivity chrome extension crossed with a simple pet simulator. Stay focused on work, or else! Code base can be found here.

The user has a artifical cat pet in the app. Users can choose between different time management techniques and when the app is activated, non-productive sites (such as Facebook, Reddit, Twitter, etc.) are blocked for the duration.

The reason for the inclusion of the artificial pet is to give the user a reason to focus. Like normal productivity apps, if the user attempts to access these sites, they are blocked by the extension. In addition, the cat's health with worsen over multiple attempts, ending in death if the user does not focus on their work. The cat's health does improve over time if there are no attempts to access blocked sites.

Black Out

Spring 2014

Made in C#.

Created by a team of 4 in 48 hours for a UPenn Game Jam (video game hackathon) on Unity3D which won Runner-Up for Best Overall Game. Navigate three levels using echolocation, like a bat!

The core game mechanic is the ability to echolocate. The player can shout forwards and if the sound wave strikes an object, the object lights up briefly creating a visual effect analogous to what a bat experiences.