About
Languages
JavaScript, Python, Nodejs, TypeScript
Technologies
React, Redux, Express, Sass, CSS, HTML, Git, Jest, Mocha, Chai, Enzyme, Cypress, ESLint, Prettier, Linux/Unix, D3, Flask, MongoDB, MySQL, PostgreSQL
Work Experience
Software Engineer - Human API
JavaScript, React, Nodejs, Sass, Hapijs, Mongo, Cypress, Scrum
- Head maintainer for company's main consumer-facing web application
- Led the effort to improve web security (A+ on Mozilla Observatory) of all consumer-facing web apps
- Developed JavaScript client to help customers with product integrations, deployed to npm and cdn.
Open Source / Software Community
YDKJS Exercises
- Exercises to go along with You Don't Know JavaScript
JavaScript, React, Jest, react-testing-library, Cypress
- Creator and maintainer
- 98 stars and 28 contributors
- Architected application to ensure reusability
- Used React Context API to manage application state
- Fostered open and encouraging community that encourages first-time contributors
Downshift
- 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
East Bay React Meetup
- Discuss/Teach/Learn all things React
JavaScript, React
- Creator and Organizer
- 200+ members
- Gave tech talk on React Context API for audience of 30 members
Projects
SICC PICCS
- Real-time, image-recognition, multiplayer scavenger hunt
JavaScript, React, GraphQL, Apollo, Postgres
Create or join a game with friends or strangers. Once the game starts, all players will be prompted to take a picture of something (hot dog, coffee mug, etc.). The first person to take a picture of that item, wins. Clarifai API was used for image recognition. Hasura API was used as a real-time, GraphQL server. This web app was developed with a team of 5 developers.
StockIT.Tech
- 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.
jobSort.Tech
- 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.
Yeggle
- 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.