About Project Moon
Project Moon is a site-wide redesign project consisting of over 80 pages. As part of the project, the internal component library (named “GeckoPrimer”) was further developed as an implementation of the Moon Design System. Large parts of the codebase were also refactored to remove deprecated code, improve maintainability, and enable validation of business logic through automated unit testing.
Problem Statement
The problems that inspired this project were mostly design-related, but in order to solve them, there were engineering-related problems that had to be tackled.
-
Inconsistent design and user experience across the website
-
Archaic design language and design system built on top of Bootstrap
-
Steep learning curve for frontend development and increasingly complex design requirements
-
Significant technical debt such as code hygiene, low test coverage, and legacy code
-
Outdated JavaScript dependencies like Tailwind v2 and Webpacker v4
Outcomes
As part of the project, we were able to rewrite significant parts of the codebase. This allowed us to remove legacy code, including those from features that were sunsetted. Two design patterns were introduced to improve the maintainability of the code. This also allowed us to increase test coverage by enabling unit testing across the codebase.
We also resolved significant technical debt, including outdated libraries such as Bootstrap and jQuery, migrating to a more modern CSS stack like Tailwind. Through the implementation of GeckoPrimer, the in-house component library, this allowed developers to reduce development time and more easily adhere to the design specs that were provided by designers.
Key Responsibilities
-
Lead technical discussions and planning of high-level project timelines
-
Mentor and guide junior engineers through peer code reviews
-
Directly communicate with stakeholders across multiple departments
-
Facilitate collaboration with other engineering teams working on the same product