Data Scientist star ML Engineer star Web & SDE
I love applying my data science and machine learning knowledge along with my software and web development skills to solve complex technical and business problems with simple, efficient solutions. I am a strong thinker and decision maker. I love using data to deliver meaningful results that can move businesses forward with insights into future endeavors.

Pandas | Scipy | NumPy | SKLearn | Tensorflow | Keras | PySpark | PostgreSQL | Matplotlib | Seaborn | Tableau | Python | Jupyter | MCMC | CNN | ML Metrics | Clustering | NLTK | Gensim | Hypothesis Testing AWS | Docker | Git | SQL | Google Analytics | A/B Testing | Linear Algebra | Statistics Java | C++ | Scala | JavaScript | jQuery | AJAX | HTML/CSS | Public-Speaking | Client-Facing | Leadership

Data & ML

Work Experience

Software Engineer, IBM Cloud - June 2016 - Aug 2018more_vert
Software Engineer - IBM Cloudclose

- Configuring device networks, managing data collection, querying device topologies
- Refining GUI analytics and understanding how to best provide data to the client
- Optimizing software solutions for increased and finer network coverage

Software Engineer Co-op, IBM IoT - Summer 2015more_vert
Software Engineer Co-op, IBM IoTclose

- Built custom server-side CSS preprocessor for Sass to efficiently support and display SVG’s
- Implemented multiple front-end and server-side web-admin features for IBM Jazz
- Built custom server-side CSS preprocessor for Sass to efficiently support and display SVG’s
- Enhanced a multitude of dojo widgets to be context-aware based on user configuration
- Developed for an enterprise-level code base with server builds, within an Agile environment

Software Engineer, UCI Informatics - Winter 2015-16more_vert
Student Software Engineer, UCI Informaticsclose

- Queried Google Books API and stored professors preferences through custom login portal
- Designed unique web-UI layout with PHP-integrated forms in WordPress

Web Development

Data Structures & Algorithms

Term Frequency Countermore_vert
Term Frequency Counterclose

- Although not a very complex program, I've written this program in nearly 20 different ways - from fully recursive, to multi-threaded, to stacking methods.
- Exercises in Programming Styles

Multi-Touch Paintingmore_vert
Multi-Touch Paintingclose

After building a a multi-touch box, I had to do something with the inputs. And we all know drawing and painting is quite difficult with a mouse or trackpad. So I put my skills to good use, and enhanced an MT4J paint app to take multi-touch gestures. If you need to change colors, just double-tap, and most importantly, enact the zoom gesture, and the brush size with increase!

Address Forwardingmore_vert
Address Forwardingclose

I've designed and built an address forwarding system. The program easily reroutes "mail" the user can input into the command prompt, to the most recent address of any individual, even if the sender inputed an outdated name-address combination.

Multi-Form Grapher & Plottermore_vert
Multi-Form Grapher & Plotterclose

The goal of this project was two fold. Firstly, to create an extensible graphing program that could variable change between xy-plotting, bar graphs, pie-charts, and more. Secondly, to officially document it with UML Diagrams and API documentation.

Maze Generatormore_vert
Maze Generatorclose

A maze generator that uses a recursive, depth-first algorithm to randomly generate a two-dimensional maze of arbitrary size, with the result required to be a perfect maze.

AVL + Spellingmore_vert
AVL + Spellingclose

AVL tree tree implementation along with a custom 5-part spell checking algorithm. (A) Swap each adjacent pair of characters in the word. (B) In between each adjacent pair of characters in the word, each letter from 'A' through 'Z' is inserted. (C) Delete each character from the word. (D) Replace each character in the word with each letter from 'A' through 'Z'. (E) Split the word into a pair of words by adding a space in between each adjacent pair of characters in the word.

Directed Graphmore_vert
Directed Graphclose

Implementation of a directed graph based on an adjacency list. Embedded within is Dijkstra's shortest path algorithm to solve the single-source, positive-weighted, shortest-path problem.

Global Distance Calculatormore_vert
Global Distance Calculatorclose

This was my first C++ program. After inputting a number of locations, including their latitude and longitutde, I would compare all the respective locations using the haversine formula, and output the the shortest to longest flights.

Grading & Ranking Systemmore_vert
Grading & Ranking Systemclose

A teacher or any individual could input a series of students, along side their respective ID-numbers, and later on add an item worth a grade, and then input each students performance. At the end, one has the freedom to select their own preferred cut-off or grading curve.

Command Line Text Editormore_vert
Command Line Text Editorclose

Taking full advantage of the Command Pattern, as well as the lack of mouse support in a prompting environment, I built a text editor that acted like VIM or Notepad (to a lesser degree), with it's functionality all accessible through key-strokes and hot-keys.