"Quave helped us rethink Aftersale from the inside out. They took a highly complex operation and turned it into a platform our teams actually enjoy using."
— Marcelo Tanaka, COO
The Starting Point
Aftersale is a market leader in returns and exchanges in Brazil. Brands like Samsung, Tramontina, and Britânia rely on the platform, alongside more than 400 e-commerce businesses. Over the years, Aftersale processed more than 2 million transactions and built deep expertise in one of the most complex parts of e-commerce operations.
That growth shaped the product. The platform evolved to support an increasing number of workflows, rules, and edge cases across very different clients. It reflected years of real-world learning about logistics, fraud prevention, refunds, and customer service. As the company scaled, the product reached the limits of what it was originally designed to support.
The system remained powerful, but using it required more effort than before. Supporting complex operations meant that simple actions sometimes involved multiple steps, and different teams interacted with the platform in different ways. Aftersale's team recognized this as a natural consequence of growth - and as a signal that the next phase of the product would require a new foundation.
The Challenge
This wasn't a quick turnaround. We couldn't just rebuild a few screens and call it done. Aftersale had grown complex for a reason. Returns aren't simple. Each e-commerce client has different rules. Some offer store credit. Some require photos of damaged items. Some packages return to different warehouses based on product type. Big clients had custom features built specifically for their workflow.
We counted over 100 business specific rules baked into the system. All of them mattered to someone.
We also had to understand the physical world. Packages move through carriers, warehouses, and sorting centers. The software had to match that reality. We talked to logistics partners. We learned how their systems worked. We mapped out where the old product created friction - for operators, for warehouse teams, for the end customers trying to return a product.
The real world is tough, and fraud is also a big challenge in return systems, so we dove deep into that to build a system that tracks everything that matters.
The goal was clear: keep the power, lose the complexity.
The Approach
From the start, it became clear that incremental changes would not be enough. The existing system had grown organically over several years, and continuing to layer new solutions on top of it would limit long-term evolution.
The decision, made by the board of the company, was to rebuild the platform from the ground up. Meteor.js was chosen as the foundation, allowing a single codebase to power the customer-facing returns portal, the operator admin panel, public APIs, and external integrations with carriers and e-commerce platforms. This approach reduced duplication, improved consistency, and made the system easier to evolve over time. No more manual refreshes, just see changes coming in real-time.
The data model was redesigned around flexibility. Customization is at the core of Aftersale's value proposition, and the new architecture allows new rules and workflows to be added quickly. More importantly, many configurations that previously required development can now be managed directly by operators through the admin panel. These rules were also designed in a way that adding an AI assistant on top of it is trivial as they are centralized and have a very clear data structure. With these rules in place, the system will adapt to them, making customizations much simpler and easier to maintain.
Design and development progressed in parallel. While developers focused on architecture and core services, designers built the component library and visual system ahead of implementation. Tools like Figma MCP and Cursor helped accelerate the translation from design to production-ready code, building on Quave's existing design system.
Research was continuous throughout the project. Product owners worked closely with Aftersale's team, clients, and logistics partners to validate flows, understand edge cases, and ensure the new platform matched real operational needs.
What We Built
The new Aftersale platform was designed to handle complexity without making it visible. Instead of forcing users to navigate multiple sections for basic tasks, the experience follows a clear, end-to-end flow. Each stage of a return is explicit, actions are contextual, and the system provides clear feedback when intervention is required.
Operators manage the full lifecycle of a return from a single interface - reviewing requests, approving or rejecting them, confirming package receipt, and processing refunds. When needed, they can manually override system decisions, maintaining flexibility without breaking core rules.
Consumers interact through a self-service portal that allows them to initiate returns and track progress without contacting support.
Administrators have deep control over configuration: branding, communications, workflows, logistics rules, financial settings, and automation are all managed through the platform.
The system includes full audit logging accessible via UI in real-time, role-based access control, and operational reporting, giving teams confidence, visibility, and traceability.
The result is a platform that supports sophisticated operations while remaining approachable and intuitive for daily use.
Where It Stands
The new Aftersale launched in beta at the end of 2025. Early clients are all previous users of the old system. They know what they're comparing it to.
The feedback has been strong. It's too early for hard metrics, but the response tells us we got the core right. The foundation is solid. What comes next builds on a codebase that can actually support it.
What We Learned
A year is a long time to spend on one product. What kept it on track:
Research that never stopped. We didn't do a discovery phase and move on. Product owners kept talking to clients throughout the project. When something wasn't working, we heard about it early.
Parallel work that stayed aligned. Design and development moved together from day one. Neither team waited on the other. But they talked constantly. The design system kept everyone building the same thing.
Simplicity as a design goal. It's easy to add features. It's hard to make complex software feel simple. We treated clarity as a requirement, not a nice-to-have. Every screen asked the same question: can someone figure this out without help?
Read another case study:

Building a Complex Enterprise Platform in Under 30 Days.
Read Case Study →



