From 9dd0f300144eee66ed1e84f1eebbede11255fa5d Mon Sep 17 00:00:00 2001 From: Deeman Date: Thu, 26 Feb 2026 15:24:06 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20pricing=20overhaul=20+=20lead-back=20gu?= =?UTF-8?q?arantee=20=E2=80=94=20CHANGELOG=20+=20PROJECT.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CHANGELOG: add Added section (guarantee, CRO restructure, credits-only callout, ROI line) and Changed section (Basic free, card color €59, BP PDF €149, hero CTA, comparison table, EN/DE translations, setup_paddle.py) PROJECT.md: - Correct Done section prices (Growth €199, Pro €499) - Add Done entries: pricing overhaul, lead-back guarantee - Add 3 Decisions Log entries (Basic free, guarantee credit-only, static ROI) Co-Authored-By: Claude Sonnet 4.6 --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ PROJECT.md | 7 ++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0031cb..84c1185 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,33 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +### Added +- **Lead-Back Guarantee** — suppliers can claim credits back for non-responding leads + with one click after 3 business days. Route `POST /suppliers/leads//guarantee-claim`, + `refund_lead_guarantee()` in credits.py, "Lead didn't respond" button on unlocked + lead cards (visible 3–30 days after unlock). Migration 0020 adds `guarantee_claimed_at` + and `guarantee_contact_method` columns to `lead_forwards`. +- **Supplier page CRO restructure** — `/suppliers` page reordered to lead with value + before pricing (Why Padelnomics → Lead-Back Guarantee → lead preview → social proof + → pricing). All CTAs changed from "See Plans & Pricing" to "Get Started Free". +- **Static ROI line** — one-sentence ROI callout near pricing grounded in + `research/padel-hall-economics.md` data (4-court project = €30K+ contractor profit). +- **Credits-only callout** — below pricing grid: "Not ready for a subscription? Buy + a credit pack and unlock leads one at a time." + +### Changed +- **Basic tier is now free** — `supplier_basic` monthly/yearly price → €0. No Paddle + subscription required for Basic. Signup wizard shows "Free forever" instead of €39. +- **Card color boost** — price corrected €19/mo → €59/mo (aligns with MARKETING.md). +- **Business plan PDF** — price raised €99 → €149 (KfW-ready document supporting + €200K+ investment decision). +- **Hero and final CTA** — links changed from `#pricing` anchor to direct signup URL. +- **Comparison table** — €1,799/yr annotated with "(yearly plan)" for clarity. +- **EN+DE translations** — `sup_meta_desc` updated (removed "from €39/mo"); all + Basic-tier strings updated to reflect free tier; FAQ updated with guarantee mention. +- **`setup_paddle.py`** — Basic subscription products commented out (no longer needed); + `boost_card_color` 1900 → 5900 cents; `business_plan` 9900 → 14900 cents. + ### Fixed - **Double language prefix in article URLs** — articles were served at `/en/en/markets/italy` (double prefix) because `generate_articles()` stored diff --git a/PROJECT.md b/PROJECT.md index 40e6064..8f9da18 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -59,8 +59,10 @@ - [x] Business Plan PDF purchase flow (Paddle one-time → webhook → async generation) - [x] Boost purchases (logo, highlight, verified, card color, sticky week/month) - [x] Credit pack purchases (25/50/100/250) -- [x] Supplier subscription tiers (Basic free / Growth €149 / Pro €399, monthly + annual) +- [x] Supplier subscription tiers (Basic free / Growth €199 / Pro €499, monthly + annual) - [x] **Feature flags** (DB-backed, migration 0019) — `is_flag_enabled()` + `feature_gate()` decorator replace `WAITLIST_MODE`; 5 flags (markets, payments, planner_export, supplier_signup, lead_unlock); admin UI at `/admin/flags` with toggle +- [x] **Pricing overhaul** — Basic free (no Paddle sub), card color €59, BP PDF €149; supplier page restructured value-first (why → guarantee → leads → social proof → pricing); all CTAs "Get Started Free"; static ROI line; credits-only callout +- [x] **Lead-Back Guarantee** (migration 0020) — 1-click credit refund for non-responding leads (3–30 day window); `refund_lead_guarantee()` in credits.py; "Lead didn't respond" button on unlocked lead cards - [x] **Python supervisor** (`src/padelnomics/supervisor.py`) + `workflows.toml` — replaces `supervisor.sh`; topological wave scheduling; croniter-based `is_due()`; systemd service updated - [x] **Proxy rotation** (`extract/padelnomics_extract/proxy.py`) — round-robin + sticky hash-based selector via `PROXY_URLS` env var - [x] Resend email integration (transactional: magic link, welcome, quote verify, lead forward, enquiry) @@ -245,3 +247,6 @@ _Move here when you start working on it._ | 2026-02-22 | Credit system over pay-per-lead blast | Suppliers self-select → higher quality perception; scales without manual intervention | | 2026-02-22 | No soft email gate on planner | Planner already captures emails at natural points (scenario save → login, quote wizard step 9). Gate would add friction without meaningful list value. Revisit if data shows a gap. | | 2026-02-22 | Wipe test suppliers before launch | 5 `example.com` entries from seed_dev_data.py — empty directory with "Be the first" CTA is better than obviously fake data | +| 2026-02-26 | Basic tier free, no Paddle subscription | Simplest onboarding — signup without payment flow; MARKETING.md already said free, code said €39 | +| 2026-02-26 | Lead-Back Guarantee: supplier-initiated, credits back (not cash) | Risk reduction beats ROI projection (competitor research: #1 complaint is paying for silent leads). Credits-only keeps cash while removing the psychological barrier. | +| 2026-02-26 | Static ROI line, not interactive calculator | No lead marketplace uses inline ROI calcs; B2B SaaS trend away from them (Zendesk, Intercom, Gong all removed theirs). One bold number grounded in research beats a widget. |