fix: post-flatten dev scripts, lead form validation, copy improvements

- Fix dev_run.sh and dev_setup.sh cd path (../.. after repo flatten)
- Quote form: re-render step 9 inline on validation error instead of
  flash + redirect to step 1; phone/email errors now show field-level
- Supplier FAQ: move differentiation Q to top, fix Q10 email to
  hello@ (was leads@), rename Q1 to "How do I get listed?"
- Replace Innenhalle → Indoorhalle throughout DE locale and seed script

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Deeman
2026-02-22 10:29:59 +01:00
parent 22ad855c70
commit 625c089284
8 changed files with 96 additions and 35 deletions

View File

@@ -65,6 +65,60 @@ Annual "Listed" tier = low-friction entry for suppliers who want visibility with
- Make it **Pro-only** as a built-in perk (headline differentiator for Pro upgrade)
- Possibly also available as a paid add-on boost for Growth tier
## Company Registry Intelligence (Data / Programmatic SEO)
Use public company registries to extract data on padel businesses — financials from annual
filings, geocoded addresses, incorporation dates — and build:
- **Padel Industry Profitability Index** — aggregate revenue/profit/assets across all filed
padel companies, updated annually. Unique linkable asset; journalists and investors will cite it.
- **Company directory with financial health signals** — one page per company with location,
incorporation date, filed accounts summary, directors. Programmatic SEO at scale.
- **Regional profitability map** — geocoded addresses + aggregated financials per region.
*"Which UK regions have the most profitable padel clubs?"*
- **Growth timeline articles** — incorporation dates chart padel's rise.
*"UK padel company formations: 3 in 2018 → 47 in 2023 → 120+ in 2024"*
- **Cross-country comparison** — once multi-country data is collected:
*"Where is padel most commercially mature?"*
### Data sources
| Country | Registry | API | Cost | Has Financials |
|---------|----------|-----|------|----------------|
| UK | Companies House | REST API | Free (600 req/5min) | Yes — turnover, P&L, assets |
| Germany | Handelsregister | No official API | Northdata (freemium) | Limited |
| Netherlands | KVK | Paid API | Monthly sub | Some |
| France | INSEE Sirene | Bulk download | Free | No (accounts at INPI) |
| Spain | Registro Mercantil | No free API | Commercialised | Paywall since 2011 |
| Sweden | Bolagsverket | Good API | Free | Yes |
### Start with UK
- API key: developer.company-information.service.gov.uk (~5 min to get, free)
- `GET /search/companies?q=padel` — full-text search works
- SIC codes: `93110` (operation of sports facilities), `93130` (fitness facilities)
- `GET /company/{number}/filing-history?category=accounts` → parse iXBRL for:
Turnover, ProfitLoss, TotalAssets, NetAssets, AverageNumberEmployees
- Geocode postcodes via free OS Postcode API
### Caveats
- ~60% of small UK companies file abridged accounts (balance sheet only, no turnover)
- Many padel clubs don't have "padel" in company name — cross-ref with existing venue DB
- Holding structures can obscure revenue (rolls up to parent)
- Germany: use northdata.de (no free official API)
- Spain: genuinely closed since 2011
### Technical sketch
```
companies_house_fetch.py → search + paginate all padel companies
filings_fetch.py → download + parse iXBRL accounts per company
geocode.py → postcode → lat/lng (OS Postcode API)
aggregate.py → SQL: profitability index, regional groupings, YoY growth
page_generator.py → one page per company + index pages per region
```
Stack: `requests`, `lxml` (XBRL parsing), `sqlite3`. No heavy dependencies.
## Supplier Reviews (implementation sketch)
- New table: `supplier_reviews (id, lead_forward_id, supplier_id, rating INT 1-5, body TEXT, created_at)`
- Email trigger: worker job checks `lead_forwards` created 60+ days ago with no review → enqueue review request email