const CALENDLY_URL = "https://calendly.com/stanzin_tundup/30min"; function loadCalendlyWidget() { if (!document.getElementById("calendly-widget-css")) { const link = document.createElement("link"); link.id = "calendly-widget-css"; link.href = "https://assets.calendly.com/assets/external/widget.css"; link.rel = "stylesheet"; document.head.appendChild(link); } if (window.Calendly?.initPopupWidget) return Promise.resolve(); const existingScript = document.getElementById("calendly-widget-js"); if (existingScript) { return new Promise((resolve) => { existingScript.addEventListener("load", resolve, { once: true }); setTimeout(resolve, 1200); }); } return new Promise((resolve) => { const script = document.createElement("script"); script.id = "calendly-widget-js"; script.src = "https://assets.calendly.com/assets/external/widget.js"; script.type = "text/javascript"; script.async = true; script.addEventListener("load", resolve, { once: true }); script.addEventListener("error", resolve, { once: true }); document.body.appendChild(script); }); } function openCalendlyStrategyCall() { loadCalendlyWidget().then(() => { if (window.Calendly?.initPopupWidget) { window.Calendly.initPopupWidget({ url: CALENDLY_URL }); return; } window.open(CALENDLY_URL, "_blank", "noopener,noreferrer"); }); } window.openCalendlyStrategyCall = openCalendlyStrategyCall; function ContactPage({ onGo }) { const [form, setForm] = useState({ name: "", email: "", company: "", budget: "", req: "", type: "Growth Consulting" }); const [errors, setErrors] = useState({}); const [sent, setSent] = useState(false); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); useEffect(() => { loadCalendlyWidget(); }, []); function setField(k, v) { setForm((f) => ({ ...f, [k]: v })); setErrors((e) => ({ ...e, [k]: null })); } function validate() { const e = {}; if (!form.name.trim()) e.name = "Required"; if (!form.email.match(/^[^@\s]+@[^@\s]+\.[^@\s]+$/)) e.email = "Valid email required"; if (!form.req.trim()) e.req = "Tell me a bit about what you're working on"; return e; } async function submit(ev) { ev.preventDefault(); const e = validate(); setErrors(e); if (Object.keys(e).length !== 0) return; setLoading(true); setError(null); try { const res = await fetch('/api/contact.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(form), }); const contentType = res.headers.get('content-type') || ''; const data = contentType.includes('application/json') ? await res.json() : null; if (!res.ok) { throw new Error(data?.error || `Submission failed (${res.status})`); } if (!data?.ok) throw new Error('Submission endpoint did not confirm delivery'); setSent(true); setForm({ name: "", email: "", company: "", budget: "", req: "", type: "Growth Consulting" }); } catch (err) { setError(err.message || 'Submission failed. Please try again later.'); } finally { setLoading(false); } } return ( <>
Contact · say hi

Tell me what you're building.

A few lines is enough. I read every message and reply within 24 hours, IST working days. If it's a fit, we'll jump on a 30-minute call — no obligation, no sales deck.

Email
hello@stanzin.me
Elsewhere
LinkedIn · X · Substack
Reply time
Within 24h, IST working days
{sent ?

Message sent.

I'll get back to you within 24 hours. Meanwhile, check onGo("insights")} style={{ borderBottom: "1px solid var(--accent)", color: "var(--accent)", cursor: "pointer" }}>Insights.

:
setField("name", e.target.value)} placeholder="Your full name" /> {errors.name && {errors.name}}
setField("email", e.target.value)} placeholder="you@company.com" /> {errors.email && {errors.email}}
setField("company", e.target.value)} placeholder="Your brand or company" />
{["Growth Consulting", "Performance Marketing", "Funnel Optimization", "SEO Strategy", "Hiring"].map((t) => )}
{["< ₹1L", "₹1–3L", "₹3–6L", "₹6L+", "Not sure"].map((t) => )}