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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user