Hi, my name is

Miles Phan.

I like to build cool stuff.

I'm currently an SDE II at Amazon, working on Rufus, Amazon's new AI shopping assistant. I graduated from USC and majored in Computer Science/Computer Engineering. At work, in school, and on my own time I love to learn about and tinker around with new tech.

Contact Me Resume

About Me

Hey there! I'm Miles, an SDE II with 3+ years of professional experience currently working at Amazon. Previously I was building new shopping experiences for Alexa, but now I'm enhancing the backend for Rufus, Amazon's new AI shopping assistant. You can find me in cloudy Seattle, WA.

I graduated with a Bachelors of Science from USC in 2021, where I studied Computer Science/Computer Engineering. Go Trojans!

Outside of software development, I love reading, watching movies, and playing an (almost unhealthy) amount of Civ VI.

Here are a few languages and technologies that I've picked up and used at work, school, or personal projects:

  • Java
  • Typescript
  • Scala
  • Python
  • AWS Technologies
  • Spring
  • Alexa Skills Kit
  • Docker
  • Git
  • Gradle
  • Google ProtoBuf
  • Jupyter Notebook
  • Conda
  • Pandas
  • Elasticsearch
  • Solr
  • Node
  • React
  • HTML/CSS
  • Bootstrap4
  • Django 3+
  • MySQL
  • PostgreSQL
  • Jira

Work Experience

Personal/Capstone Projects

Clip & Ship, VODClassifier

For the summer post-undergrad, I decided to revisit an earlier project, the TwitchClipAnalyzer (which I had worked on in the summer of 2020), and revamp/refactor/rebrand it using many of the skills I learned in my senior year.

TwitchClipAnalyzer was renamed Clip & Ship. I also refactored the logic behind processing VOD comments and assigned categories, added more data collection to the results page, and redesigned the UI/UX. The full list of features is available on GitHub.

The VODClassifier was birthed from a desire to apply my knowledge of machine learning on the data Clip & Ship is collecting. The VODClassifier trains a model on data generated by Clip & Ship during VOD processing to predict the category of a group of comments with high accuracy.

Clip & Ship Source VODClassifier Source
USC Sparkler

For my Capstone project at USC I worked on adding new features to Sparkler, a web crawler supported by USC Data Science and NASA JPL.

The bulk of my work was in adding in an Elasticsearch storage backend option, which required abstracting out the existing code that only supported Apache Solr. My team and I decided to use a factory pattern to abstract out the code to provide more flexibility in adding or removing storage backend types in the future. After verifying that Sparkler still worked with the Solr storage backend after the abstraction was complete, I and other members began worked on connecting the factory to Elasticsearch. We successfully modified the codebase to crawl injected URLs and store the resulting data into the Elasticsearch backend. Our work can be found here.

TwitchAnalyzer
TwitchClipAnalyzer

TwitchClipAnalyzer is a standalone app that allows users to analyze Twitch VODs to find great clips. Users can create custom categories based on a channel's emotes to grab funny, cool, sad, and other moments.

The primary purpose of the app is to aid content creators in creating videos from VODs, since finding good clips to use in a video is a time consuming process.

TwitchClipAnalyzer was built in Python3 with the help of libraries like Eel and Twitch-Python

Source

Downloads

Windows 10 (64 bit) Mac OS Catalina (64 bit)
ProfanityCountBot

The ProfanityCountBot is a Reddit bot that reports how many profanities a user has said over thie reddit lifetime.

Call the bot with a simple mention followed by the username: u/ProfanityCountBot username

Source
Currently under development.
ProfanityCountBot
Springify
Springify

The Spotify web player and desktop app provide a lot of functionality, but there are some features that are missing. Deleting multiple playlists at once, removing songs from your entire library, and unfollowing multiple artists, are just some of the features that Spotify doesn't currently support.

Built using Python3 and Flask, Springify is a prototype app meant to implement these missing features.

Source
SciOlyScheduler

A friend from the Yale Science Olympiad E-Board mentioned one day how time consuming scheduling Science Olympiad competitions was. Trying to organize proctors for the different events when each proctor had their own preferences and doubled as coaches for the different teams (so no two coaches could proctor at the same time) added layers of complexity that were hard to deal with

SciOlyScheduler handles mapping proctors to events with all the parameters mentioned above and reduces the tiem the process takes from days to seconds. Using a modified Edmond-Karp algorithm, the console app removes all hassle and makes scheduling super easy and super fast.

Source
SciOlyScheduler
RPI Security System

In my embedded systems course, I worked with RaspberryPi's and sensors for the first time and really enjoyed the experience. For the final project, I made a makeshift HVAC device and in the spirit of recreating home systems, I purchased my own sensors and crafted a small security system.

With two Raspberry Pis and a host of Grove Pi sensors, I setup shop. One Pi acts as the main detection and notification device while the other acts as a failsafe, ensuring that if the other is disabled before raising the alarm, the owner will still be notified of an intruder.

Source

Course History

Course Number Course Name
EE-109 Introduction to Embedded Systems
CSCI-103 Introduction to Programming
MATH-225 Linear Algebra and Linear Differential Equations
CSCI-170 Discrete Methods in Computer Science
CSCI-104 Data Structures and Object Oriented Design
EE-250 Distributed Systems for the Internet of Things
CSCI-270 Introduction to Algorithms and Theory of Computing
CSCI-201 Principles of Software Development
MATH-407 Probability Theory
EE-354 Introduction to Digital Circuits
EE-457 Computer Systems Organization
ITP-303 Full-Stack Web Development
ITP-435 Professional C++
CSCI-353 Introduction to Internetworking
EE-477 MOS VLSI Circuit Design
EE-454 Introduction to System-on-Chip
CSCI-360 Introduction to Artificial Intelligence
CSCI-401 Capstone: Design and Construction of Large Software Systems
CSCI-467 Introduction to Machine Learning
CSCI-350 Introduction to Operating Systems

Extracurriculars

Contact Me

If you like what I've done and would like to reach out to me, click the button below to send me an email. I'm always looking for new and exciting work to do!

Email Me