import { useState, useEffect, useRef } from "react"; export default function App() { const [openFaq, setOpenFaq] = useState(null); const [vis, setVis] = useState(new Set()); const refs = useRef({}); const [courts, setCourts] = useState(6); const [rate, setRate] = useState(50); const [util, setUtil] = useState(40); useEffect(() => { const obs = new IntersectionObserver((entries) => { entries.forEach((e) => { if (e.isIntersecting) setVis((p) => new Set([...p, e.target.dataset.s])); }); }, { threshold: 0.12 }); Object.values(refs.current).forEach((el) => el && obs.observe(el)); return () => obs.disconnect(); }, []); const r = (id) => (el) => { if (el) { el.dataset.s = id; refs.current[id] = el; } }; const v = (id) => vis.has(id); const fade = (id, d = 0) => ({ opacity: v(id) ? 1 : 0, transform: v(id) ? "translateY(0)" : "translateY(24px)", transition: `all 0.6s cubic-bezier(0.16,1,0.3,1) ${d}s` }); // Mini calculator const revenue = courts * rate * (util / 100) * 14 * 30; const costs = courts * 1800 + 2500; const cashflow = revenue - costs; const investment = courts * 30000 + 50000; const payback = cashflow > 0 ? (investment / (cashflow * 12)).toFixed(1) : "โ€”"; const $ = { bg: "#FFFFFF", soft: "#F8FAFC", muted: "#F1F5F9", warm: "#FFFBEB", border: "#E2E8F0", borderDark: "#CBD5E1", text: "#0F172A", sub: "#334155", dim: "#64748B", faint: "#94A3B8", blue: "#1D4ED8", blueLight: "#3B82F6", bluePale: "#DBEAFE", blueGhost: "#EFF6FF", blueDark: "#1E40AF", green: "#16A34A", greenPale: "#DCFCE7", greenGhost: "#F0FDF4", gold: "#D97706", goldPale: "#FEF3C7", }; const font = "'Inter', -apple-system, BlinkMacSystemFont, sans-serif"; const mono = "'JetBrains Mono', 'SF Mono', monospace"; const JOURNEY = [ { icon: "๐Ÿ“Š", title: "Plan", desc: "Model your investment with 60+ variables. CAPEX, operating costs, cash flow, returns, sensitivity analysis. Know your numbers before you commit.", tag: "Free" }, { icon: "๐Ÿ’ฐ", title: "Finance", desc: "Your planner output becomes your business case. Connect with banks and investors who understand sports facility financing.", tag: "Coming soon" }, { icon: "๐Ÿ—๏ธ", title: "Build", desc: "Get quotes from verified court suppliers matched to your specs. Compare pricing, quality, and timelines. Direct contact, no middleman.", tag: "Live" }, { icon: "๐ŸŽพ", title: "Operate", desc: "Analytics powered by real booking data. Benchmark against similar venues. Pricing optimization and demand forecasting.", tag: "Coming soon" }, ]; const FEATURES = [ { icon: "๐Ÿ”ง", title: "60+ Variables", desc: "Every assumption adjustable โ€” court costs, rent, pricing, utilization, financing terms, exit scenarios." }, { icon: "๐Ÿ“‹", title: "6 Analysis Tabs", desc: "Assumptions, CAPEX, Operating Model, Cash Flow, Returns & Exit, Key Metrics. Each with interactive charts." }, { icon: "โ˜€๏ธ", title: "Indoor & Outdoor", desc: "Model indoor halls (rent or build) and outdoor courts with seasonality. Compare scenarios side by side." }, { icon: "๐Ÿ“‰", title: "Sensitivity Analysis", desc: "See how returns change with different utilization and pricing. Find your break-even instantly." }, { icon: "๐ŸŽฏ", title: "Professional Metrics", desc: "IRR, MOIC, DSCR, cash-on-cash, break-even utilization, RevPAH. The metrics banks want to see." }, { icon: "๐Ÿ’พ", title: "Save & Compare", desc: "Unlimited scenarios. Test locations, court counts, financing structures. Find your optimal plan." }, ]; const TESTIMONIALS = [ { quote: "Padelnomics saved me months of spreadsheet work. I walked into the bank meeting with a professional business case and got financing approved in 2 weeks.", name: "Stefan M.", role: "Founder, Padel House Berlin", avatar: "S" }, { quote: "The supplier matching is brilliant. I submitted my specs and had 3 detailed proposals within a week. Ended up saving โ‚ฌ40K versus the first quote I'd gotten on my own.", name: "Anna L.", role: "Padel Club Amsterdam", avatar: "A" }, { quote: "I've opened two halls now, both planned on Padelnomics. The sensitivity analysis alone is worth it โ€” it showed me the exact utilization I needed to break even.", name: "Marco P.", role: "CEO, Padel Nation", avatar: "M" }, ]; const FAQS = [ { q: "Is the planner really free?", a: "Yes. The full financial planner with 60+ variables, 6 analysis tabs, sensitivity analysis, and unlimited saved scenarios is completely free. No credit card required. We make money on the supplier side โ€” suppliers pay to access project briefs from entrepreneurs like you." }, { q: "How does supplier matching work?", a: "After you've built your financial plan, you can optionally submit a project brief with your specs (courts, type, budget, timeline, location). We match you with 2โ€“5 pre-vetted suppliers who fit your requirements. They contact you directly with tailored proposals. It's free for you โ€” suppliers pay for the introduction." }, { q: "Do I have to share my contact details?", a: "Only if you choose to request supplier quotes. Your planner data is 100% private. If you submit a project brief, your contact details are shared only with the 2โ€“5 matched suppliers โ€” never published publicly, never sold to third parties." }, { q: "How accurate are the projections?", a: "The planner uses industry-standard financial models with real market assumptions. However, every market is different โ€” the projections are as good as your inputs. That's why we give you 60+ adjustable variables and sensitivity analysis, so you can stress-test your assumptions." }, { q: "Which countries/markets do you cover?", a: "The planner works globally โ€” just input your local costs and pricing. For supplier matching, we currently have the strongest network in Germany, Netherlands, France, Italy, UK, and Scandinavia, with rapid expansion across Europe and the Middle East." }, { q: "Can I use it for my bank or investor presentation?", a: "Absolutely โ€” that's one of the main use cases. The planner generates professional metrics (IRR, MOIC, DSCR, debt yield) that banks and investors expect to see. Many users export their scenario data for business plan documents." }, ]; const LOGOS_SEEN = ["200+ padel halls planned", "15 countries", "โ‚ฌ85M+ in planned investments"]; return (
{/* NAV */} {/* HERO */}
๐ŸŽพ Free padel court financial planner

Plan Your Padel
Business in Minutes,
Not Months

Model your padel court investment with 60+ variables, sensitivity analysis, and professional-grade projections. Then get matched with verified suppliers.

{["No credit card", "60+ variables", "Unlimited scenarios"].map((t) => ( โœ“{t} ))}
{/* Mini calculator */}
Quick ROI Estimate
Drag the sliders to see your projection
{[["Courts", courts, setCourts, 2, 16, ""], ["Peak Rate", rate, setRate, 30, 80, "โ‚ฌ/hr"], ["Utilization", util, setUtil, 20, 70, "%"]].map(([label, val, setter, min, max, unit]) => (
{label} {val}{unit}
setter(+e.target.value)} style={{ width: "100%", accentColor: $.blue, height: "6px" }} />
))}
{[ ["Total Investment", `โ‚ฌ${(investment / 1000).toFixed(0)}K`, false], ["Monthly Cash Flow", `โ‚ฌ${cashflow > 0 ? cashflow.toLocaleString("de") : 0}`, true], ["Payback Period", `${payback} yrs`, false], ["Cash-on-Cash", `${cashflow > 0 ? ((cashflow * 12 / (investment * 0.25)) * 100).toFixed(0) : 0}%`, true], ].map(([label, val, hl]) => (
{label}
{val}
))}
Assumes โ‚ฌ8/mยฒ rent, 5% interest, 10-yr loan, 300 mยฒ/court
{/* SOCIAL PROOF BAR */}
{LOGOS_SEEN.map((t, i) => (
โ—{t}
))}
{/* JOURNEY: Plan โ†’ Finance โ†’ Build โ†’ Operate */}
From Idea to Operating Hall

Everything you need, in order

Padelnomics walks you through the entire journey โ€” from first napkin math to your operating padel hall.

{JOURNEY.map((step, i) => (
{step.tag}
{step.icon}

{step.title}

{step.desc}

))}
{/* PLANNER FEATURES */}
Financial Planner

Built for serious padel entrepreneurs

Not a toy calculator. A professional-grade financial model.

{FEATURES.map((f, i) => (
{f.icon}
{f.title}
{f.desc}
))}
{/* SUPPLIER MATCHING */}
Supplier Matching

From plan to quotes
in 48 hours

When your numbers work, take the next step. Submit your project specs and we'll match you with 2โ€“5 verified court suppliers. They reach out directly with proposals tailored to your project.

{[ ["Verified suppliers only", "Every supplier is vetted for quality, reliability, and track record."], ["Direct contact", "You get real proposals from real people. No chatbots, no middlemen."], ["100% free for you", "Suppliers pay for the introduction. You pay nothing โ€” ever."], ["Your data stays private", "Contact details shared only with your matched suppliers."], ].map(([title, desc]) => (
โœ“
{title}
{desc}
))}
{/* Mock supplier cards */}
{[ { name: "PadelCourt Europe", loc: "Cologne, Germany", spec: "Full turnkey solutions", rating: 4.9, projects: "150+ projects", color: $.blue, avatar: "P" }, { name: "Mondo Padel", loc: "Milan, Italy", spec: "Court surfaces & glass walls", rating: 4.8, projects: "200+ projects", color: $.blueLight, avatar: "M" }, { name: "CourtTech Solutions", loc: "Amsterdam, NL", spec: "Steel structures & lighting", rating: 4.7, projects: "85+ projects", color: $.gold, avatar: "C" }, ].map((s, i) => (
{s.avatar}
{s.name}
{s.loc} ยท {s.spec}
โœ“ Verified
โญ {s.rating}{s.projects}
))}
35+ verified suppliers across Europe
{/* TESTIMONIALS */}
Success Stories

From plans to padel halls

{TESTIMONIALS.map((t, i) => (
โ˜…โ˜…โ˜…โ˜…โ˜…

"{t.quote}"

{t.avatar}
{t.name}
{t.role}
))}
{/* FAQ */}
FAQ

Common questions

{FAQS.map((f, i) => (
{openFaq === i &&
{f.a}
}
))}
{/* FINAL CTA */}

Start planning your padel business today

Join 200+ entrepreneurs who've planned their padel hall on Padelnomics. Free, no credit card, unlimited scenarios.

{/* FOOTER */}
); }