Gentle Monster
Reimagining the form and presentation of a unique and eccentric eyewear brand
The Problem
In 2018, Gentle Monster needed an online store that felt closer to the brand’s physical world: bold, minimal, visual, and strange in the right ways. The site had to let campaign videos, product imagery, and the glasses themselves carry the experience while still behaving like a fast, usable ecommerce platform.
Architecture
The backend stack was already set in Python, with JavaScript on the frontend and GraphQL connecting the two. My early frontend focus was deciding how the GraphQL layer should be consumed, which led us to Apollo for its client tooling. Because the UI depended heavily on large images and video, the frontend architecture also had to account for lazy loading and performance so the brand direction did not come at the cost of usability.
Development
I joined about a week into development, when the initial backend work was in place and the frontend still needed to come together. I integrated GraphQL with Apollo, then moved into the core shopping surfaces: the home page, product listing page, product detail page, and payment flow. The home page used bold full screen heroes and carousels, the listing page used a flexbox grid with trailing animation because CSS Grid support was still partial, and the product detail page used a two column layout with scrollable imagery and fixed product information. GraphQL made the final payment integration with the backend much smoother than it would have been otherwise.
Learnings
This was my first full time role on a product team after mostly doing freelance client work. Stepping into that environment was energizing, but I also had to work through imposter syndrome and learn how professional software teams actually move. Having a supportive team and manager helped me settle in. The project gave me confidence, while also making it clear how much more I wanted to learn: stronger data structures, more advanced frontend patterns, and eventually TypeScript.