feat: admin articles grouped view, live stats, + bug fixes
Admin articles list: - Group EN/DE language variants into a single row (grouped by url_path) - Language chips (● EN/● DE) coloured by status: green=live, amber=scheduled, blue=draft - Inline View ↗ (live only) and Edit buttons per variant — one-click access - Filter by language switches back to flat single-row view - Live HTMX polling of article counts while generation runs (every 3s, self-terminates) - Table overflow fix: card gets overflow:hidden, table wrapped in overflow-x:auto scroll div Bug fixes: - X-Forwarded-Proto: pass $http_x_forwarded_proto through Nginx so Quart sees https - pipeline_routes.py: fix relative import for analytics module (from .analytics → from ..analytics) - Scheduled articles: redirect to parent path instead of 404 when not yet published - city-cost-de: change priority_column from population to padel_venue_count - Quote wizard step 4: make location_status required - Article generation: use COUNT(*) instead of 501-sentinel hack for row counts - Makefile: pin Tailwind v4.1.18, add dev/help targets, uv run python, .PHONY Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,8 @@
|
||||
|
||||
**Core insight:** The job is never "I need a calculator." It's "I need to feel confident committing €200K+." Confidence is the product. Calculator is the vehicle.
|
||||
|
||||
**Investment reality (from `research/padel-hall-economics.md`):** 4-court outdoor commercial = €200K–€350K. Any indoor hall = €700K–€3M+. These are the primary addressable buyers. Single-court installs (€33K–€80K, mostly hotel/corporate add-ons) exist but are not the target for the lead marketplace — suppliers filter them out by project size anyway.
|
||||
|
||||
### Why This Works (DaaS Thesis)
|
||||
|
||||
| Check | Answer |
|
||||
@@ -79,7 +81,7 @@ Small direct revenue Main revenue: subscriptions + credits + upsel
|
||||
**Social job:** Look professional and thorough to banks / investors / spouse. ← underserved, pricing lever.
|
||||
|
||||
**Acquired via:** SEO, free calculator, content marketing.
|
||||
**Direct revenue:** Business plan PDF (€99), market intel subscriptions (future).
|
||||
**Direct revenue:** Business plan PDF (€149), market intel subscriptions (future).
|
||||
|
||||
#### Beachhead Sub-segment — Tennis/Sports Club Owner (Germany)
|
||||
|
||||
@@ -311,8 +313,8 @@ After calculator results: prompt for email to save/share scenario. Every planner
|
||||
| Tier | Price | Includes | State |
|
||||
|------|-------|----------|-------|
|
||||
| Basic | Free | Listing, no leads | [ ] |
|
||||
| Growth | €149/mo | Listing + 30 credits/mo + basic analytics | [ ] |
|
||||
| Pro | €399/mo | Listing + 100 credits/mo + full analytics | [ ] |
|
||||
| Growth | €199/mo (€1,799/yr) | Listing + 30 credits/mo + basic analytics | [ ] |
|
||||
| Pro | €499/mo (€4,499/yr) | Listing + 100 credits/mo + full analytics | [ ] |
|
||||
|
||||
### Upsell Stack (RemoteOK playbook)
|
||||
|
||||
@@ -364,7 +366,7 @@ Suppliers self-select which leads to unlock with credits. Lead cost scales by pr
|
||||
| Lead credits (Side B) | Suppliers buy credits to unlock leads | [ ] Not live |
|
||||
| Directory subscriptions (Side B) | Growth €149/mo, Pro €399/mo | [ ] Not live |
|
||||
| Directory upsells (Side B) | Logo, highlight, verified, sticky | [ ] Not live |
|
||||
| Business Plan PDF (Side A) | €99 one-time | [ ] CTA exists, no product |
|
||||
| Business Plan PDF (Side A) | €149 one-time | [ ] CTA exists, no product |
|
||||
|
||||
### Near-term (Phase 2–3)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user