function ContactPage({ onGo }) { const [form, setForm] = useState({ name: "", email: "", company: "", budget: "", req: "", type: "Growth Consulting" }); const [errors, setErrors] = useState({}); const [sent, setSent] = useState(false); 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; } function submit(ev) { ev.preventDefault(); const e = validate(); setErrors(e); if (Object.keys(e).length === 0) setSent(true); } 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) => )}