Replyall Data Warehouse
Enterprise Architecture Case Study
Enterprise Architecture · Case Study

Unifying Replyall's five commerce systems into one daily-refreshed data warehouse

A D2C apparel brand was running online sales, retail, shipping and two returns systems as five separate sources of truth. devx labs built an AWS data warehouse that reconciles all five every night — and answers business questions in plain English.

Client
Replyall — D2C performance apparel
Impact pillar
Enterprise Architecture
Technologies
AWS Redshift · S3 · Glue · QuickSight · Claude MCP · Shopify
About the brand

Functional fashion, built for people who don't sit still

Replyall is a direct-to-consumer apparel brand designing everyday clothing — tees, polos, joggers, overshirts — engineered around a proprietary "Fabric Library" of performance textiles for temperature regulation, stretch and weather resistance. The brand sells through its Shopify storefront and a retail store in Mumbai.

As volumes grew, the operating picture behind the storefront didn't keep pace. Online sales sat in Shopify. Shipping and delivery status sat with courier partner Proship. Returns were split across two systems — the live portal, Pragma, and its predecessor, Returns Prime, holding everything before it. And Broadway, the retail store's point-of-sale system, ran entirely apart from the online numbers with its own sales, returns and stock.

Answering a single question about the business — what did we actually keep, net of returns, across both channels? — meant assembling five exports by hand, every time.

D2C Apparel Shopify AWS Redshift Data Warehousing QuickSight Claude MCP Omnichannel India

Engagement at a glance

ArchitectureAWS-native, Medallion
Source systems5
Dashboards5 reports · 19 tabs
RefreshDaily, automated
FocusUnified commerce analytics
Year2026
The people

Three teams, waiting on the same spreadsheet

Every architecture decision traced back to one of three roles at Replyall — and what each of them had to stop doing manually.

Founder's office

Needs the number now, not next week

Running growth and inventory decisions off GMV, AOV and channel mix — but every figure required an analyst, an export, and a wait. Questions that occurred mid-meeting went unanswered.

Insight gated behind SQL
Operations & support

Chasing returns across two portals

Return and exchange cases lived in one system, their history in another, and delivery failures in a third. Reason codes never lined up, so "why are returns up?" had no single answer.

3 systems per question
Merchandising & planning

Reordering on stale sell-through

Needed sell-through by SKU, colour and size to catch stock-outs and overstock early — but online and in-store stock were counted separately, and neither refreshed on its own.

2 channels, never reconciled
The challenge

Five systems, one business, no shared version of the truth

The problem was not a missing dashboard. It was that no two systems agreed on what a sale, a return or a customer was — and three of the five sources offered no automatic connection at all, so the data could not simply be pulled on a schedule.

Returns made the gap concrete. A return raised in the current portal, a return that predated it, and a return handed back over the retail counter were three different records in three different shapes. Measured against online sales alone, every return rate on every report was wrong.

"Replyall seeks to unify its sales, shipping and returns data into a single, queryable analytics layer — clear, daily-refreshed analytics into business performance, without reliance on spreadsheets or manual reporting."

A summary of the friction

Disconnected sources5 systems
Online store, courier portal, two returns systems and a retail POS, none of them speaking to each other.
No API to pull from3 of 5 sources
Three of the five sources offered no automatic connection — data existed only behind a manual portal login.
Split returns history2 systems, 1 history
A live returns portal and its legacy predecessor held two halves of the same story in two formats.
Retail measured apart2 channels
In-store sales, returns and stock sat outside every online report, distorting channel-level truth.
No self-serve answers0 self-serve
Every business question required someone who could write SQL, which put a queue in front of each decision.
Our approach

A production-grade AWS warehouse, built to be trusted

devx labs designed, built and deployed a fully managed AWS pipeline — ingestion through to conversational analysis — with the business rules behind every number documented in plain language, not just in code.

01

Automated multi-source ingestion

A scheduled Lambda calling the Shopify GraphQL API, nightly bots for the courier portal, returns portal and retail POS, and a one-time historical load folding legacy returns into the same schema — five sources, one staggered nightly sequence.

Resilience
02

Medallion warehouse architecture

Raw files land dated and untouched in S3, then move Bronze → Silver → Gold inside Redshift, so every published figure can be traced back to exactly what the source system handed over.

Sustainability
03

Business rules defined once, centrally

Net revenue, return rate, fulfilment TAT and what counts as a genuine customer are calculated once in the warehouse — so every dashboard, and every team, tells the same story.

Sustainability
04

Five decision dashboards

Sales & Revenue, Returns & Exchanges, Logistics, Customers and Inventory — 19 QuickSight tabs covering revenue-bridge waterfalls, LTV cohorts, RTO analysis and variant-level stock health.

Human-Centricity
05

Conversational warehouse access

A Claude MCP connection into Redshift lets the team ask questions in plain English and get answers straight from the warehouse — no SQL, no analyst in the loop, no export.

Human-Centricity
06

Self-healing orchestration

EventBridge schedules run the nightly sequence unattended; any failure alerts with the exact job named. Because each job pulls a fixed window, a re-run never creates gaps or double-counts.

Resilience
07

Thresholds the client tunes themselves

Inventory health bands — Critical, Watch, Healthy, Overstock — and the Returns & Exchanges SLA days for approval, pickup and processing are exposed as adjustable controls, so the team retunes them as the business changes without raising a request.

Human-Centricity
08

Metrics that exist only after the join

Proship cost joined to Shopify revenue produces Shipping Cost as % of Revenue. Pragma returns matched to Shopify orders produce a true return rate — neither exists in a single source.

It surfaced 74% of returns as Size & Fit, sizing running large (L → M, XL → L), and WELCOME10 as the highest-returning cohort.

Sustainability
09

SPICE caching for concurrent access

Dashboards read from QuickSight's in-memory SPICE layer rather than querying Redshift on every open, so ten people can work in the reports at once at no additional warehouse cost.

Sustainability
How it runs, every night
Collect
5 sources
Shopify GraphQL via Lambda + nightly bots
Land
S3 raw zone
Dated files, never overwritten
Transform
Glue + Redshift
Bronze → Silver → Gold
Model
Facts & dimensions
Sales, shipments, returns
Answer
QuickSight SPICE · Claude MCP
Refreshed before the workday
The results

One warehouse, refreshed before anyone opens a laptop

5 → 1
Sources, unified
Online, retail, shipping and both returns systems reconciled nightly into a single source of truth.
0
Manual exports
Reporting that once meant assembling five spreadsheets now runs unattended, every night.
19
Dashboard tabs live
Across five reports, from revenue bridges and LTV cohorts to RTO analysis and stock health.

The platform is live in production, refreshing daily and scaling as Replyall adds sources and channels. Founders ask questions in plain English and get answers from the warehouse itself; operations sees returns as one picture instead of three; merchandising reorders against sell-through that was accurate this morning.