B2BPaper: Service as Software — Strategic Plan

The Pivot

From: Online marketplace where mills list surplus and buyers browse To: AI paper broker that sources, matches, and closes deals autonomously

Revenue model: 2-4% commission per deal (replacing human brokers at 3-8%) Target: 50-100 deals/month at €100k avg deal = €150k-400k/month revenue

How It Works

For Buyers

  1. Buyer submits request: "40t uncoated woodfree, 80gsm, reels, Central Europe, 3 weeks"
  2. AI agent searches supply database + live scrapes marketplaces
  3. Agent presents 2-3 matching offers with pricing
  4. Buyer picks one, agent handles negotiation and paperwork
  5. Deal closes, B2BPaper takes commission

For Mills

  1. Mill tells Thierry or submits form: "60t off-spec coated going obsolete in 30 days"
  2. AI agent scans demand profiles, finds matching buyers
  3. Agent drafts and sends offers to qualified buyers
  4. First buyer to commit gets the deal
  5. B2BPaper takes commission from mill side

Thierry's Role


Technical Architecture

┌─────────────────────────────────────────────────────────┐
│                    B2BPaper SaaS                         │
├──────────────┬──────────────┬───────────────────────────┤
│  Supply Side │  Demand Side │     Matching Engine       │
│              │              │                           │
│ • Scrapers   │ • Intake     │ • Grade matching          │
│ • Mill API   │ • Outbound   │ • GSM/format/volume       │
│ • Manual     │ • CRM        │ • Geography/logistics     │
│              │              │ • Price optimization      │
├──────────────┴──────────────┴───────────────────────────┤
│                  Deal Pipeline                           │
│  Lead → Qualified → Offered → Negotiating → Closed      │
├─────────────────────────────────────────────────────────┤
│                Communication Layer                       │
│  Email / WhatsApp / Agent Outreach                       │
├─────────────────────────────────────────────────────────┤
│          Django REST API (existing codebase)              │
│          PostgreSQL (existing DB + new tables)            │
└─────────────────────────────────────────────────────────┘

Built on top of existing marketplace codebase: /home/claude/customers/marketplace Existing assets: Product models, mill data, Extractor pipeline (8,919 docs, 4,246 products, 440 mills)


Phases & Tickets

Phase 0: Foundation (5 days)

Ticket Title Estimate
B2B-S01 Supply record model + Django app + API 1d
B2B-S02 Demand profile model + Django app + API 1d
B2B-S03 Deal pipeline model + state machine + API 1d
B2B-S04 Match record model + scoring schema + API 1d
B2B-S05 Admin dashboard shell (Angular) 1d

Phase 1: Supply Scraping (8 days)

Ticket Title Estimate
B2B-S06 Crawlee scraper framework + base classes 1d
B2B-S07 PaperIndex.com scraper 1d
B2B-S08 Papnews.com surplus scraper 1d
B2B-S09 PaperX / Papermart scraper 1d
B2B-S10 Generic mill website scraper (configurable) 1d
B2B-S11 Supply deduplication + normalization engine 1d
B2B-S12 Scraper scheduler (PM2 cron, daily runs) 1d
B2B-S13 Supply inventory dashboard (Angular admin) 1d

Phase 2: Demand Collection (5 days)

Ticket Title Estimate
B2B-S14 Public intake form (buyer request page) 1d
B2B-S15 Buyer profile management + CRM fields 1d
B2B-S16 Outbound email templates + Mailgun sender 1d
B2B-S17 Demand tracking dashboard (Angular admin) 1d
B2B-S18 Buyer qualification scoring 1d

Phase 3: Matching Engine (5 days)

Ticket Title Estimate
B2B-S19 Matching algorithm (grade, GSM, format, volume, geo, price) 2d
B2B-S20 Match scoring + ranking system 1d
B2B-S21 Auto-match trigger on new supply or demand 1d
B2B-S22 Match review dashboard (Angular admin) 1d

Phase 4: Communication Layer (5 days)

Ticket Title Estimate
B2B-S23 Email integration (offer, follow-up, negotiation templates) 1d
B2B-S24 WhatsApp Business API integration 2d
B2B-S25 Conversation tracking + timeline per deal 1d
B2B-S26 Auto-follow-up scheduler 1d

Phase 5: Deal Management (5 days)

Ticket Title Estimate
B2B-S27 Deal pipeline view (kanban board) 1d
B2B-S28 Contract template generation (PDF) 1d
B2B-S29 Commission calculator + invoice generator 1d
B2B-S30 Deal analytics dashboard 1d
B2B-S31 Revenue forecasting widget 1d

Phase 6: Service Landing Pages (3 days)

Ticket Title Estimate
B2B-S32 Buyer-facing landing page ("We source paper for you") 1d
B2B-S33 Mill-facing landing page ("We move your surplus") 1d
B2B-S34 SEO + meta tags + structured data 1d

Phase 7: AI Agent Layer (5 days)

Ticket Title Estimate
B2B-S35 Buyer qualification agent (auto-qualify inbound) 1d
B2B-S36 Supply matching agent (auto-match on trigger) 1d
B2B-S37 Outreach drafting agent (personalized offers) 1d
B2B-S38 Deal assistant agent (negotiation support) 1d
B2B-S39 Daily digest agent (Thierry morning briefing) 1d

Phase 8: Testing & Hardening (3 days)

Ticket Title Estimate
B2B-S40 End-to-end flow test (supply → match → offer → close) 1d
B2B-S41 Load testing + scraper rate limiting 1d
B2B-S42 Error handling + retry logic + monitoring 1d

Total: 42 tickets, ~44 working days, 9 weeks


Go-to-Market (After Build)

  1. Thierry calls 10 mills he knows, gets surplus lists → manual supply entry
  2. Outbound to 500 converters/printers → build demand profiles
  3. First 10 deals manually assisted by Thierry + AI
  4. After 20 deals, let agents run 80% autonomously
  5. Scale scraping to cover all major paper marketplaces
  6. Revenue target: €50k/month by month 3, €150k by month 6