Menu

Astro

Astro component with a plain HTML form. No client-side JavaScript needed — the browser handles the POST natively.

One-liner

---
// src/pages/contact.astro
// One-time setup: curl -X POST https://gopigeon.dev/new -d 'recipient=you@example.com'
const ENDPOINT = "https://gopigeon.dev/f/f_abc123def456xyz0";
---
<html>
  <body>
    <form action={ENDPOINT} method="POST">
      <input type="text" name="name" required />
      <input type="email" name="email" required />
      <textarea name="message" required></textarea>
      <button type="submit">Send</button>
    </form>
  </body>
</html>

How it works

The frontmatter block defines the endpoint constant at build time. Astro injects it into the rendered HTML action attribute. When the user submits, the browser issues a standard form-encoded POST directly to gopigeon — your Astro site is never part of the request path, so there is no function invocation, no server budget burn, no cold-start latency.

This makes Astro the cheapest possible integration: zero bytes of client JS, zero server compute, and a form that works the moment the page ships.

The email you passed as recipient above gets a one-click claim link on the first real submission — that is how you become the authenticated owner.

Not what you're looking for? See the full surface at /llms.txt.