# find-a-mentor is a Next.js app that matches developers with volunteer mentors

> The Coding Coach mentors site is a Next.js and React application with a search and filter flow, an application request form, Storybook components and Cypress end to end tests, and the README spends most of its length on how a contributor should work with it.

**Coding-Coach/find-a-mentor** — The Coding Coach mentors website

- Repository: https://github.com/Coding-Coach/find-a-mentor
- Website: https://mentors.codingcoach.io
- Stars: 751 · Forks: 416
- Language: TypeScript
- License: MIT
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/coding-coach-find-a-mentor

## The product is a matching flow with a request form

The application is described as the Coding Coach mentors website, and the user flow is spelled out in the readme for both sides. If you are looking for a mentor, you go to the site, register or log in, search for a mentor using the filters for better matching, hit the Apply button on a card, fill in the request form, and then wait for the mentor to accept, with an email sent either way, and then contact the mentor using one of the channels they listed. If you want to be a mentor, you register, click your avatar image and choose Become a Mentor, fill in the form with your details and contact channels, and wait for an approval message that usually takes no more than a few hours. The readme is candid about the failure mode, noting that some mentors are not active and that the team is working on ways to keep only the active ones, and it advises applying to more mentors if you get no response, and letting the other mentors know once you start a mentorship with someone else.

## A Next.js app with Netlify functions and a Mongo store

The dependency list describes the shape of the application, and it is a conventional and slightly dated React stack. Next.js is at 12.1.0 with React 16.9, styled-components for styling and react-scripts for the unit tests, and the readme states the project was created with Next.js. The backend is MongoDB through the mongodb driver with axios for HTTP calls, and the serverless layer is Netlify functions with @netlify/functions and a separate tsconfig.functions.json. Authentication is Auth0 with auth0-js and jsonwebtoken plus jwks-rsa for token handling, and the app sends email through the SendGrid client. The scripts reveal the test structure, with the main test script running the unit tests, the functions tests and the end to end run in sequence, the unit tests being react-scripts test, the functions tests being jest against the netlify functions source with a node environment, and dev being netlify dev rather than next dev, which is what makes the local experience match the hosted one.

## Three test layers and a Storybook for the components

Testing is arranged in three layers and the readme is explicit about running them. The unit tests are run with yarn test, which launches the test runner, and the Cypress end to end suite is launched with yarn test:e2e, which also launches the app and must run on port 3000. The quick start in the contribution section gives the interactive path, where you run yarn to install, then yarn test, then type a to run all tests and q to quit, which starts Cypress and sets it up, and if the browser does not open automatically you navigate to http://localhost:3000. Separately, components are developed in Storybook, with each reusable component expected to have a story, the stories living under src/stories, and a production Storybook published at mentors.codingcoach.io/sb/. The requirements section names the toolchain, with Git, Node.js and Yarn, and carries one sharp warning, that Node.js v11.11.0 breaks the tests.

## The contribution workflow is written out in unusual detail

Most of the readme is the contribution workflow, and it is more specific than most projects manage. You fork the project, clone your fork locally, and then add the original as a remote named upstream with a git remote add upstream command, and you work against your own repository. The branches are named by type, a feature/something branch for new work and a fix/something branch for bugs, both cut from master, and the pull request has to describe what was done. Updating your local environment after others have merged is a checkout master, a git pull upstream master, a checkout of your branch, and a git rebase master.

```bash
$ git checkout master
$ git pull upstream master
$ git checkout feature/something-awesome
$ git rebase master
```

The readme acknowledges that rebasing is intimidating for newcomers and suggests asking for help in Slack rather than abandoning it. The project also offers Gitpod, a hosted online development environment, which launches a ready to code workspace with the dependencies pre-installed so that a contributor can start without spending time on setup.

## A hosted service with a deployment pipeline and a set of housekeeping chores

The repository carries the deployment configuration for a Netlify hosted site, with a netlify.toml, a netlify/ directory and a Netlify deploy status badge, and there is a predeploy script that runs the build. The api-types/ directory holds the shared types for the API, scripts/ holds the helper scripts, and pages/ and src/ hold the routes and the components. A .travis.yml file sits next to a GitHub Actions workflow, which is a leftover from an earlier CI setup, and the .nvmrc and engines field pin the Node version to 18.x. The housekeeping side of the project is worth naming too, since it shapes how a maintainer spends time. The mentors list is a directory of volunteers, the readme says some of them are not active, and the response to a non response is to apply to more, so keeping the directory meaningful is a standing task rather than a one-off.

## Where this is the wrong thing to reach for

Two limits are obvious and one is structural. The obvious ones are that the mentors are volunteers, so this is not a paid or vetted matching service, and that the search depends on people keeping their own profile and channels current, which the readme itself concedes. The structural limit is that the repository is a web application rather than a library or a service you can consume, so there is no API to integrate with and no package to install, and the value of the codebase to anyone outside the project is as a worked example of a Next.js and React application with Netlify functions, Storybook and Cypress. The fourth thing to weigh is the age of the stack. Next.js 12 and React 16 with styled-components in beta, and Node pinned to 18.x, mean that a contributor will be working in a generation of the framework that is no longer current, and the Netlify dev command rather than a plain Next dev command is a sign of how much of the local workflow is tied to that host. That is fine for maintaining the site and less fine as a base for something new.

## Conclusion

find-a-mentor suits a developer who wants to be matched with a volunteer mentor and is willing to work through the request form, and it suits a contributor who wants to add a feature to a real React application with a documented fork and rebase workflow. It is the wrong tool if you need a paid or vetted matching service, since the mentors are volunteers and the readme admits that some are not active. Before contributing, read the mentorship guidelines the readme links, follow the fork and upstream remote setup rather than working from a plain clone, and run the unit, functions and end to end test suites in that order, since the test script runs all three. The last push was on 2026-10-04 and the current release is v2.1.0 from 2026-02-28.

## FAQ

### How do I apply for a mentor on the Coding Coach site?

Go to mentors.codingcoach.io, register or log in, search for a mentor using the filters, hit the Apply button on their card and fill in the request form. You then wait for the mentor to accept, and an email is sent whether they accept or decline, after which you contact them using one of the channels they listed.

### How do I become a mentor?

Register on the site, click your avatar image, click Become a Mentor, and fill in the form with your details and contact channels. You then wait for an approval message, which the README says usually takes no more than a few hours.

### What do I need to run the find-a-mentor project locally?

Git, Node.js and Yarn, with Yarn recommended as the package manager. The README warns that Node.js v11.11.0 breaks the tests, the engines field pins Node to 18.x, and the quick start is to run yarn, then yarn test, then press a to run all tests and q to quit, which starts Cypress, with the site at http://localhost:3000.

## Sources

- [Coding-Coach/find-a-mentor on GitHub](https://github.com/Coding-Coach/find-a-mentor)
- [License: MIT](https://github.com/Coding-Coach/find-a-mentor/blob/master/LICENSE)
- [Project website](https://mentors.codingcoach.io)
- [README](https://github.com/Coding-Coach/find-a-mentor/blob/master/README.md)
- [Releases](https://github.com/Coding-Coach/find-a-mentor/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/coding-coach-find-a-mentor
