Software Engineer working at Human API 🙋‍ who graduated from Purdue University currently living in Berkeley, CA. I enjoy building software, contributing to open source software, and continuously learning.


JavaScript, Python, Nodejs


React, Redux, Express, Sass, CSS, HTML, Git, Jest, MySQL, Mocha, Chai, Enzyme, Cypress, ESLint, Prettier, Linux/Unix, D3, Flask, MongoDB, AWS

Work Experience

Software Engineer - Human API

JavaScript, React, Nodejs, Sass, Scrum

  • Creating responsive, consumer-facing web applications
  • Developed dynamic routing based on customer configurations
  • Supporting accessibility and internationalization

Open Source / Software Community

YDKJS Exercises

- Exercises to go along with You Don't Know JavaScript

JavaScript, React, Jest

  • Creator and maintainer
  • 47 stars and 13 contributors
  • Architected application to ensure reusability
  • Used React Context API to manage application state
  • Fostered open and encouraging community that encourages first-time contributors


- Autocomplete React component that uses render props design pattern

JavaScript, React, Jest, Storybook, Cypress

  • Added as collaborator
  • Developed feature allowing the user to disable item event handlers, added unit test, and updated documentation
  • Fixed bug preventing toggle button from working properly when the user tabs to it, added unit test and integration tests
  • Fixed bug causing warning to trigger at the wrong time
  • Added example for integrating downshift with react-final-form
  • Active in answering questions, reporting bugs, and reviewing pull requests

Berkeley React Meetup

- Discuss/Teach/Learn all things React

JavaScript, React

  • Creator and Organizer
  • 40+ members


- Predictable state container for JavaScript apps


  • Contributed to documentation - when to use Redux



- Machine learning stock-picking game

JavaScript, React, Python, Flask, Pandas, Scikit Learn, D3, CSS, HTML

Used Pandas and Scikit Learn to develop a machine learning model for each stock. This model is used to determine if/when the AI should buy/sell. Used D3 and React to plot the data and update the leaderboard. Optimized for desktop and mobile.


- Sorts/Filters job listings from Hacker News: Who is Hiring

JavaScript, React, Redux, Node, Express, MySQL, CSS, HTML, Mocha, Chai, Enzyme, ESLint, Prettier

A node app updates a MySQL database every hour with updates to the latest Hacker News: Who is Hiring post. Separately, the web app queries the MySQL database for Hacker News data when the user submits input form. The job listings are sorted by the tech the user knows and how familiar the user is with each of them. Optimized for desktop and mobile.


- Compares Yelp search results with Google Maps

JavaScript, React, Node, Express, CSS, HTML

Calls Yelp and Google APIs to get search result data that can be filtered/sorted by various categories. The "Yeggle" button matches up Google results to Yelp results; the Yeggle algorithm utilizes coordinates, title, and address to determine if there is a match. Optimized for desktop and mobile.


- Website for Berkeley coding meetup

JavaScript, Git, Node, Express, PassportJS, MongoDB, React, HTML, CSS

Full stack website that allows users to RSVP to our meetups, log in, and post content to our forum.