Phase 0 features: ungate planner, lead qualifier with heat scoring, quote form (migrations 0002-0003), supplier directory with FTS5 search (migration 0004), landing page redesign with ROI calculator and FAQ. Phase 1 improvements: supplier tier system with Growth/Pro paid plans (migration 0005), HTMX live directory search, three-tier card design, Zillow-style sticky nav, "Get Matched" → "Get Quotes" CTA rename, remove "Free" messaging site-wide, realistic ROI calculator defaults (~3.9yr payback / ~26% ROI), mandatory form validation with 422 errors, supplier pricing page with boost add-ons. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Padelnomics
Plan, finance, and build your padel business.
Development
CSS (Tailwind)
Uses the Tailwind CSS standalone CLI — no Node.js required.
make css-watch # rebuild on file changes (dev)
make css-build # one-off minified build (CI/Docker)
The first run downloads the Tailwind binary to bin/tailwindcss automatically.
Edit src/padelnomics/static/css/input.css for theme tokens, base styles, and component classes. Output is gitignored — Docker builds it in a dedicated stage.
CI/CD:
Go to GitLab → padelnomics → Settings → CI/CD → Variables and add:
┌─────────────────┬────────────────────────────┬───────────────────────────────────────────┐ │ Variable │ Value │ Notes │ ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤ │ SSH_PRIVATE_KEY │ Your ed25519 private key │ Mask it, type "Variable" │ ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤ │ DEPLOY_HOST │ Your Hetzner server IP │ e.g. 1.2.3.4 │ ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤ │ DEPLOY_USER │ SSH username on the server │ e.g. deploy or root │ ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤ │ SSH_KNOWN_HOSTS │ Server host key │ Run ssh-keyscan $YOUR_SERVER_IP to get it │ └─────────────────┴────────────────────────────┴───────────────────────────────────────────┘
And on the server side (one-time setup):
- Add the matching public key to ~/.ssh/authorized_keys for the deploy user
- Clone the repo to /opt/padelnomics
- Create .env from padelnomics/.env.example with production values
- chmod +x deploy.sh && ./deploy.sh for the first deploy
- Point NPM to port 5000