A series of ReactJS coding challenges with a variety of difficulties. Deep dive into the why here.

Interested in some React fundamentals / philosophies? Check out the react-philosophies GitHub repo.

The Challenges

Easy ?

? Rocket Ship

Unnecessary re-renders, fine grained control.


Medium ?

? Dark Mode

State / shared state, DOM manipulation.

? Coinbee soon

Data visualisation and graphing. API usage.


Hard ?

? Spootify

Loading state, API usage.

? Chatter

Web sockets, events, callbacks & React hooks. Talks to Botty.


Future Challenges later

? shopit

A product page with a shopping cart/checkout experience.

? gogalaxy

An interactive planetarium.


What are the challenges for?

They could be:

  • Short coding exercises, for use in interviews with candidates
  • Ways for you to test yourself / test your coding abilities under pressure
  • Fun exercises to help you learn React


How do they work / how do I get started?

The scaffolding of each challenges / app is done for you and each challenge has create-react-app as its foundation.

  • Clone the whole challenges repository
  • Run yarn or npm install in any of the individual challenge directories to install dependencies
  • Run yarn start or npm start to start the application on port 3000 (CRA default)
  • Each challenge has a README with requirements for you to complete

Some challenges might require usage of external APIs, but all information will be provided in the individual challenge readme.


Have you got the solutions?

All the coding challenges have been completed to a high standard. Get an automatic invite to the solutions repository at


Why are the solutions invite only?

People use these challenges for interviews. By putting the solutions behind a collaboration wall / invite-only repository we can discourage candidates from simply looking up the solutions.


Can I search for GitHub users and see if they accessed the solutions?

Yes! We track current / past collaborators, meaning if you want to check if a potential candidate had access / looked at the solutions you can simply search for them. You can do this by clicking the search icon in the top left at and searching for them.


Why does it take so long for updates / new challenges?

I work on these challenges & solutions in my spare time, on top of a full time job and everything else that comes in life. Because of this, I don't always get a lot of time to maintain and add new challenges. Interested in becoming a collaborator or submitting your own challenge? Reach out below or submit a new challenge!


Community slack-icon

We're on Slack - come and join us!


Thoughts or feedback ?

Conflicting opinion about a challenge difficulty rating? Need some help or guidance? Got a challenge idea? Get in touch at


Contributing ?

We have an issue template, pull request template and a new challenge template. We encourage you to fill out the right template and open a PR / issue!

What Makes A Good Challenge?

  • Clear requirements
  • Fun and engaging
  • Accurate difficulty level
  • Looks good (visually pleasing)
  • Realistic -- would someone ever need to build something like this in real life?
  • Easy to get started (minimal pre-requisites)