hey.car

An online platform for high quality used car sales.

This was the first ReactJS project I took on back in 2017 when it was in its infancy. I worked on it for just over two years, learning a lot about the React ecosystem and all its moving parts.

While working on this project, we as engineers could set aside sufficient time to manage technical debt, so we could build more features and spend less time putting out fires.

With that, here are some of the improvements we were able to make:

  • Migrated from SASS to styled-components (CSS in JS) with styled-system, resulting in a style set up that was much easier to manage for designers and engineers. This could be done on a phased basis and once SASS was removed, build times were much better.
  • Switched from class based components to function components, which meant less code, less bugs and easier unit tests.
  • Redefined the architecture for the app so that key areas could be split out into self-contained projects, while sharing components across each with a multi-repo set up.
  • Split out larger view components (such as the vehicle detail page) into smaller components, and wrapped components that carried out actions (dealer contact etc) into self contained connected components with their own state management through Redux.
  • Doing all of the above facilitated full test coverage across the board, with ESLint checks ensuring code quality.
  • This site is online and can be seen at hey.car.