crumpled paper texture

Revision-Style Mentorship

A more advanced mentorship program designed to learn as much best practices as possible.

I'm currently not accepting mentorship applications. You can fill out a form to be notified when it opens.

Revision-Style Mentorship is a front-end mentorship program I designed.

Here's how it works:

  • You will create a simple project that covers basic CRUD operations with forms and API integration
  • After you finish the project, I will review your code via GitHub Pull Request
  • We will discuss the code review via Zoom, and I will give you feedback and best practices
  • You will address the feedback, and it will loop back to the review process. I will usually add more scope with each revision.

React is very unopinionated, so it's easy to get lost. You need someone to guide you with a set of opinionated best practices that I've tested on real-world projects. The goal of this mentorship is to do as many revisions as possible until you reach my opinionated best practices and standards.

Here's how multiple revisions would typically look like:

  1. Create a controlled form using React useState
  2. Add validation and show error styling to the input
  3. Add loading state when submitting the form
  4. Refactor to React Hook Form, and simulate the 3 previous features
  5. Create a reusable form component with a robust TypeScript props interface
  6. Add a loading toast when submitting the form, and show API errors
  7. Refactor the form submission using useMutation from Tanstack Query so the loading & error states are handled
  8. Implement optimistic caching with an error fallback

This is a simplified example, but you can see how many ways we can improve the code quality and make the application more robust. With this mentorship, you will first learn how to do it the manual way—using states and effects. After experiencing the pain points of managing your own state, only then will we refactor to a widely-used library that solves these pain points.

We will also cover more advanced front-end topics like:

  • Building a design system
  • Designing a custom hook
  • Virtualization
  • Keyboard navigation and shortcuts
  • Animation
  • Any other topics you want to cover, as long as I know the topic 😉

This mentorship is a one-on-one program, so we can discuss things in depth and at your own pace.

Looking forward to meet you,

Clarence