Hi, my name is
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.
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:
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 SourceFor 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.
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
SourceDownloads
Windows 10 (64 bit) Mac OS Catalina (64 bit)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
SourceThe 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.
SourceA 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.
SourceIn 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.
SourceCourse 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 |
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