Skip to main content
Gentle Monster updated landing page with new UI design.

Gentle Monster

Reimagining the form and presentation of a unique and eccentric eyewear brand

  • E-Commerce
  • React
  • Javascript
  • GraphQL

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.

Gentle Monster 2018 landing page with old UI design.
Gentle Monster glasses collections page with the different styles of glasses.

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.

Gentle Monster product detail page with different views of the product.

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.

Gentle Monster product carousel with model wearing different glasses.