The Data Foundry

Built by Data with Pranjal

System Design Studio

Practice data architecture like an interview.

Turn system design theory into architecture reps: choose trade-offs, review a broken design, write your answer, get a rubric score, and reveal a production-grade model answer.

Cases

10

Free

4

Completed

0

beginnerBatchWarehouseRevenue MartMonitoring

Design an E-commerce Orders Data Platform

A growing e-commerce company wants reliable order, payment, and refund reporting. Finance needs daily revenue by 8 AM, operations needs order status visibility, and analysts need two years of history.

Functional requirements

Ingest orders, payments, refunds, and customers from source systems.
Build a certified daily revenue mart for Finance.
Support backfills for corrected payment and refund records.
Expose tables for BI dashboards and analyst SQL.

Non-functional requirements

Daily dashboard ready by 8 AM local time.
Revenue should reconcile with payment provider totals.
Pipeline should be idempotent for retries and reruns.
Keep raw history for audit and reprocessing.

Architecture workspace

Source APIs

Step 1

Raw/Bronze S3

Step 2

PySpark Silver

Step 3

Data Quality

Step 4

Gold Revenue Mart

Step 5

Warehouse

Step 6

BI + Alerts

Step 7

Broken architecture review

A single Python cron job pulls only today's orders, overwrites one CSV, and the dashboard reads that CSV directly. No raw history, no reconciliation, no retry safety.

Task: Design a production-ready batch architecture and explain how you would handle retries, corrections, and revenue reconciliation.

Decision questions

What should be the first durable landing zone?

How should daily Gold partitions be updated?

Your architecture answer

Write like an interview: requirements, architecture, trade-offs, failure handling, monitoring, and why your choices fit the SLA.