System Patterns — Paper Surplus Marketplace

Architecture Overview

The system follows a 4-layer architecture (from V1 System Diagram):

┌─────────────────────────────────────────┐
│           OUTPUT LAYER                   │
│  Newsletters, Container Proposals,       │
│  Reports, Notifications                  │
├─────────────────────────────────────────┤
│           ACTION LAYER                   │
│  Matching, Container Assembly,           │
│  Exclusivity, Newsletter Generation,     │
│  Excel Ingestion, Visibility Config      │
├─────────────────────────────────────────┤
│           ENTITY LAYER                   │
│  Products, Surplus, Mills,               │
│  Buyers, Buyer Specifics,                │
│  Mills Surplus Visibility                │
├─────────────────────────────────────────┤
│       DATA BOOTSTRAP LAYER               │
│  Initial Data Collection, Onboarding,    │
│  Excel Import, Email Ingestion           │
└─────────────────────────────────────────┘

6 Core Entities

1. Products

2. Surplus Availability

3. Mills

4. Mills Surplus Visibility

5. Buyers

6. Buyer Specifics

8 Core Actions

1. Extract Buyers

2. Extract Suppliers (Mills)

3. Exclusivity

4. Pre-Production

5. Newsletter

6. Container Assembly

7. Excel Ingestion

8. Visibility Config

Key Design Patterns

Spec-Based Matching

Geographic Visibility (NOT per-buyer)

48-Hour Exclusivity Window

The Three Pillars Pattern

Every feature touching transactions must consider:

  1. Credit/Payment — Who pays, when, what terms?
  2. Documentation — What paperwork is needed?
  3. Trust/Relationships — Does this build or erode trust?

Service Layer Pattern (NEW — first introduced in containers app)

Zero-Friction Mill Pattern