E-commerce library

This library was born from a real need: when no ecommerce component foundation exists, every designer starts from scratch. The goal was to build an extension of Pragma's design system —focused on the Magento template— so that any designer in the company could kick off an ecommerce project with guaranteed progress from day one.

01 - Context

Starting point: Magento under the microscope

Before designing, we needed to understand. The team benchmarked the reference ecommerce platform —Magento— analyzing the critical pages of the flow: the Home, PLP (Product List Page), PDP (Product Detail Page), shopping cart, checkout with payment gateway, and the administration backoffice. Meanwhile, other UI teammates evaluated different platforms; this project focused specifically on Magento's visual layer.

Home — Magento template

PLP (Product List Page) — Magento template

PDP (Product Detail Page) — Magento template

Shopping cart — Magento template

Magento and the boundaries of design

Magento (Adobe Commerce) is an open-source ecommerce platform that defines how pages, components, and user interactions are structured from the backend: the PLP, PDP, cart, and checkout all have predefined template architectures built on a Less-based theme system, PHP blocks, modules, and layout XML. That means design cannot ignore its constraints — what's proposed must be implementable within what the platform can render natively. That's why, from start to finish, every component, variant, and customization was reviewed with the Magento development team before moving forward.

Continuous technical validation

Every proposed component, variant, and customization was validated with the Magento development team. The priority: no design proposal could require development outside the sprint scope or exceed the project delivery timelines.

Design within platform constraints

Magento defines what can be rendered natively and what requires custom PHP modules. Understanding that boundary was essential to proposing components with real technical viability, not just visual appeal.

02 - System

From atom to template: layered design

With the benchmark as a foundation, Atomic Design was applied to build the library from its smallest units. Each atom —buttons, inputs, labels— was documented with variants, booleans, text options, and in some cases color variables. The goal was clear: no designer should ever need to detach a component to customize it, because flexibility was already built in from the start.

Library overview — documentation of all components in Figma

Component customization

Each component was configured for maximum flexibility without detaching from the system: variants for different states, booleans to show or hide elements, and editable text options. The goal was for designers to edit content without needing to detach it from the design system —when someone detaches a component, it's usually because they want to resize it or add more options than the component supports, not because they need to change text or toggle element visibility.

Card component customization in Figma — variants, instances, booleans and text options

Key components documented

The mini cart and product card are the highest-frequency components in any ecommerce. Each was documented with every possible variation, covering everything from the empty state to the multiple interaction states with the user.

Mini Cart component documentation

Product Card component documentation

03 - Pages

From components to full pages

The built atoms and molecules assemble into full-page templates. Home, PLP, PDP, shopping cart, administration backoffice, and wishlist were designed as reusable Figma pages, all connected to Pragma's design system and ready to be customized without starting from scratch. Any designer picking up one of these pages can adjust colors, typography, and content without detaching a single component from the system.

Home in atomic design — Pragma ecommerce template

PLP in atomic design — Pragma ecommerce template

Shopping cart in atomic design — Pragma ecommerce template

PDP in atomic design — Pragma ecommerce template

Backoffice and wishlist page in atomic design — Pragma ecommerce template

04 - Result

A product that generated real speed

The library was adopted organically within Pragma. UI teammates who used it in real projects reported an increase in execution speed of over 50%, because they didn't have to design from scratch. In extreme cases they detached a component for full editing freedom —but they already had most of the work done—, which confirmed the library served its purpose: a solid starting point, not a constraint.

+50%

Increase in execution speed reported by UI teammates who adopted the library in real ecommerce projects.

No design from scratch

No designer who used the library had to build a base component again. All the visual groundwork was already solved.

05 - Conclusions

Lessons from this project

01
A well-built system multiplies team output

Designing for other designers means thinking about flexibility, not just aesthetics. Every boolean, variant, and variable saves real hours for whoever uses the component next.

02
Detach is a symptom of a poorly designed component

If someone needs to detach a component from the system to modify it, the problem is the component, not the designer. The goal was to anticipate all possible variations from the start.

03
The benchmark defines the real scope of the system

Understanding the base platform first —in this case Magento — was what allowed us to design truly useful components. Without that context, the components would have been generic.

This library is not just visual design; it's a work infrastructure. Building it requires thinking like whoever will use it —not like the person designing it for themselves—, and that shift in perspective is, in itself, a design competency that goes beyond components.

Other projects

LuiguiCalderin

© 2026, Luigui Calderin | UX/UI Designer

LuiguiCalderin

© 2026, Luigui Calderin | UX/UI Designer

LuiguiCalderin

© 2026, Luigui Calderin | UX/UI Designer