• React JS: I have been working with React JS for nearly 3 years and consider myself a specialist. It was the first thing I picked up when I began my web development journey and I continue to work with it daily in my full time job. I always have my ear to the ground and keep up with modern best practices.
  • Redux: Add Redux to your project or leverage existing infrastructure. I have implemented redux patterns in large, complex applications.
  • AWS Services: With Serverless being all the rage, I've taken it upon myself to become familiar with AWS's more common services like Congnito, Lambda, and Amplify
  • Layouts: Responsive layouts, mobile first design, drawers, toolbars, CSS, styling.
  • Styling: I have experience with styled-components, CSS in JS, and SASS
  • Forms: Wiring up and validation of user forms and inputs (using formik and yup libraries).
  • Routing: Single page application design patterns using react-router.
  • GraphQL: Have a GraphQL backend? I am experienced with Apollo Client, writing Queries and Mutations.
  • Data Modeling: Schema driven development.

Bonus Features

On top of my technical expertise, there are some other reasons why you might want to consider working with me.

  • Communication: I communicate efficiently. What some might need 5 sentences to say, I can get across in 2. Great with analogies for bridging the understanding gaps that occur from time to time, and identifying when I have been understood.
  • Professionalism: Customer service jobs during my formative years have helped me cultivate professional decorum.
  • Sense of Humor: While I approach all things technical with the utmost objectivity, I relish the opportunity to inject levity into any situation.


If you're just getting started with React it's easy to get stuck. Literally one missing comma can bring your development to a standstill. I provide 1-on-1 tutoring to keep you moving forward. We can meet in person (in or around San Francisco, CA) or via video-conference/screen-share.

Beginner Topics

  • React Syntax, "JSX": Similar in appearance to basic HTML, but with more robust feature set.
  • Modern (ES6) JavaScript: It's important to remember that React is JavaScript and having a basic understanding of vanilla JavaScript syntax, patterns, and functions is crucial to your effectiveness.
  • State Management: Handling data within your application and basic state management best practices are foundational ReactJS knowledge.

Intermediate Topics

  • Redux Integration: Redux is the gold standard library for global state management in React applications. There are many derivatives, but understanding Redux goes a long way to understanding global state management design patterns. Redux is useful for more complex applications where data must be shared across many different components.
  • Project Architecture: intermediate and advanced projects, with their multiple files, can become unruly. It's important to follow a methodology that helps you keep track of what's going on.
  • External Data: Inevitably you're going to need to retrieve information from the internet to display in your app.

Advanced Topics

  • The Backend: Most applications needs to persist data between sessions, understanding this flow of information can make you a better Frontend Developer.
  • GraphQL: You've probably heard of RESTful API's. GraphQL is a more modern version of querying data that has some great advantages over REST. Learning to use understand it puts powerful Full Stack development patters within your grasp.
  • Data Modeling: Fail to plan, plan to fail. Before you get to work on a full stack application, you should plan out what types of data objects you will need for you app to function. (i.e. an Email will consist of a "title", "body", "composer", and "recipient" properties )