Hi, I'm Preston Young

Computer Science Major at UC Irvine

My Resume

About me

Hi, I'm a Computer Science student at UC Irvine extremely interested in developing web apps and learning new technologies in order to build unique projects. I've had a variety of experiences building software outside of school, from my Software Engineering internship at Amazon to my Full Stack Developer position at Commit the Change.


I'm currently looking for a Spring and Summer 2022 Software Engineering Internship to get more hands-on industry experience and apply my technical knowledge.

Skills

Languages

Python

JavaScript

TypeScript

Java

Kotlin

C++/C

Frontend

React

Redux

Angular

HTML/CSS

Figma

Backend

Node.js

Express.js

Flask

GraphQL

RESTful

Databases

SQL

MySQL

PostgreSQL

MongoDB

Spark

Cassandra

Concepts

Data Structures

Algorithms

Object-Oriented

Version Control

Agile

CI/CD

Experience

Amazon

Software Engineer Intern
June 2021 - September 2021
  • Implemented Python module for translating security threat detection rules in Sigma, a generic SIEM format, to the schema used in AWS OpenSearch, (forked from Elasticsearch), allowing users to allocate such rules across different OpenSearch clusters.
  • Built 2 new REST APIs for OpenSearch Alerting Plugin using Kotlin and Java to allow bulk transfer of threat detection rules to and from OpenSearch clusters.
  • Researched Sigma and OpenSearch architecture to design and propose detailed solution to over 150 engineers.

Commit the Change UCI

Full Stack Developer
October 2020 - June 2021
  • Developed user dashboard using React to securely document internal data for Waymakers nonprofit organization, which saved over 7 hours per week of manual inventory management and volunteer scheduling.
  • Architected REST API using Node.js and stored inventory images in AWS S3 buckets to help scale.
  • Collaborated with Waymaker's representatives to design PostgreSQL schema and deployed database on Heroku.

MathWorks

Software Engineer Intern
January 2021 - March 2021
  • Developed JavaScript API that manages settings for MATLAB web client, affecting 4 million MATLAB users in 2021b update.
  • Wrote unit and end-to-end tests for API using QUnit with 91% code coverage.
  • Increased code coverage by 15% in MATLAB desktop client by adding more robust test cases to Java integration tests .

Formosi

Software Engineer Intern
September 2020 - November 2020
  • Developed a full stack web app to display and organize videos uploaded by wellness professionals, supporting 20+ types of professionals, 400+ videos, and 2,000+ users.
  • Built REST API using Node.js and Express.js to fetch video data from YouTube API and store in MongoDB.
  • Worked closely with designers to create high-fidelity Figma designs and develop user-friendly pages in React.

Projects

FitLinks thumbnail

FitLinks

React, Chakra, Express.js, Fuse.js, MongoDB

During LaHacks 2022, I collaborated with a team of 4 to build a social fitness app to help professionals make new personal connections through working out. Our main offering is a Tinder-style system where users can search for matches with preferences including age, preferred activity level, company, and professional title. Based on their preferences, our backend will match them with other users using fuzzy searching on data from the People Data Labs API. I worked on the full stack. For the backend, I helped set up several Express.js user endpoints to interface our MongoDB and the People Data Labs API. For the frontend, I built the React-based Sign Up and Sign In pages using Chakra, along with React Hook Forms + Yup for form validation.

Devpost | Code

Jazz Hands Search Results

Jazz Hands

Angular, TypeScript, Express.js, Handtrack.js

During User Interaction Software class, I worked with a partner to develop an app that centralizes Spotify search results and displays them in a relevant and intuitive way. We improved the accessibility by implementing a hand tracking component that used gestures to navigate and interact with the web app. We wrote the frontend for Jazz Hands using Angular and TypeScript in combination with stylings from Bootstrap. The backend was built using Node.js and Express.js to set up endpoints that would call the Spotify API. The hand tracking component, along with the custom gestures, was implemented using the Handtrack.js library.

Code

Search Engine Search Results

Search Engine

Python, Cython, Flask, HTML, CSS

In my Information Retrieval class, I created a search engine from scratch using Python with a team of 4. Using a corpus of over 55,000 web pages, we built a fully-functioning search engine that returns results in less than 300ms. There are two main steps to our search engine: indexing and searching. Indexing is run as a preprocessing step which basically creates a lookup table that stores all of the unique tokens (words) found in the corpus, along with which page they were found on and a weight associated with how important/relevant each word was to the page. The main event is, of course, the searching, which is exactly what it sounds like! Just simply type your query in the search bar, and it will scour our index on all 55,000 pages to deliver you the best results.

Presentation | Code

Botcom rover

Botcom

Python, Raspberry Pi, Twilio API

During HackUCI 2020, I collaborated with a team of 4 to build and develop code for a Raspberry Pi based rover. We programmed Botcom to move forwards, backwards, and make 360 degree turns. I personally integrated Twilio's texting API to text Botcom movement commands, which ended up being an interesting application. Rather than using Twilio's API as a communication function, we wanted to use it as our rover's remote. Our team was recognized as being in the top 3 for best use of Twilio API.

Devpost | Code

Friendly Faces website

Friendly Faces

React, Express.js, PostgreSQL, Clarifai API

At the end of the Udemy Web Development course, I gathered two other Computer Science students and led them to build my first full stack web app. Friendly Faces utilizes the Clarifai API to detect faces in photos that registered users upload. This was by far my favorite project because it was a culmination of the 40+ hours I spent taking the course. In order to delegate tasks to my team members, I had to learn every aspect of the project, which further solidified my understanding of how front end frameworks interact with the back end server and database.

Check It Out | Front End | Back End

Twitter Bot

@HelloWorld

Python, Twitter API

I created a Twitter bot that replies to any user who tags my developer account (@Preston91272477), but only if they used the hashtag #HelloWorld (not case sensitive) in their tweet. I'm running the bot at Python Anywhere , and it checks every 15 seconds for any new tweets. In order to obtain this data, I utilized the Twitter API to parse my user JSON data and determine which tweets to reply to.

Code

Stock Strategies

Stock Strategies

Python, IEX Stock API

My program analyzed stock data based on a given set of investment strategies and generated a corresponding chart that indicated buy or sell signals. Stock Strategies made it convenient to extract the most relevant stock information as fast as other popular stock websites, but without needing to make an account. I utilized the IEX Stock API in order to retrieve both real-time and historical stock data about the selected company.

Code

Text Editor

Text Editor

C++

I developed a text editor that supported commands including but not limited to New Line, Backspace, Undo, and Cursor End. The text editor is fluid and easy to use, and functions exactly as expected of a basic text editor. A rewarding, yet daunting challenge for this project was to maintain all my pointers and memory allocation to ensure zero memory leaks.

Code

Blackjack

Blackjack

Python

I built a fully functional text-based version of Blackjack that supports any number of players. I researched and implemented the most common rules, mostly according to this website . I designed UML class diagrams to plan out all of the necessary classes and methods. The diagrams also helped to create robust, scalable code that is flexible with different sets of payouts and rules.

Code

Robofriends

Robofriends

React

Robofriends is a responsive web app that displays a set of users with their unique robot profile picture and email. With the search bar, users can filter out any profile in real time. Currently, I'm taking a Full Stack Web Devlopement course on Udemy. Following the tutorial and combining my foundational knowledge of HTML, CSS, and JavaScript, I built my first project in React. In the future, I plan to allow for more users and store them using PostgreSQL in order to incorporate a back-end to the project.

Check It Out | Code

Background Generator Website

Background Generator

HTML, CSS, JavaScript

This responsive front end web app generates linear gradients that users can copy and use for their backgrounds. Users can choose any two combinations of colors from the two inputs, or click the button to randomly generate a new gradient. I leveraged JavaScript to display the exact values of the linear gradient in real time so users can copy their favorite combinations. This was the first project I did that combined the three most fundamental front end technologies and that utilized JavaScript for DOM manipulation.

Check It Out | Code

Columns Game

Columns

Python

I recreated the 1980 Sega Genesis game Columns using Pygame. The gameplay for the original game can be found here . This was one of the first projects that I did with Python where I needed to create many abstracted, interrelated classes and methods. Initially, I created a working text-based version, where I had to meticulously plan out each function to scale well for the Pygame version.

Code

Education

University of California, Irvine

  • Expected Grad: December 2022
  • B.S. in Computer Science
  • GPA: 3.86
  • Transcript

Relevant Coursework:

  • Data Structures and Algorithms
  • Database Management
  • Information Retrieval
  • Operating Systems
  • User Interaction Software
  • Human Computer Interaction