Astro form handling without serverless functions
How to receive form submissions in an Astro site without writing an API route, server endpoint, or serverless function.
Form backend tactics, framework recipes, and the operational details that don't fit in the docs.
How to receive form submissions in an Astro site without writing an API route, server endpoint, or serverless function.
The four ways to handle file uploads from a static-site form. Tradeoffs, code, and why most teams pick option 4.
The mailto: link works until it doesn't. Five signals that tell you when to upgrade to a real form backend, and what changes when you do.
The non-lawyer's guide to GDPR for HTML forms - lawful basis, DPA, data residency, retention, and what to put on the form itself.
Three approaches to stopping form spam, with honest tradeoffs on accuracy, accessibility, privacy, and user friction.
Three patterns for Next.js form submissions: client component, server action, and pure HTML. With code, tradeoffs, and the bug that bites everyone.
Constant-time HMAC verification in three runtimes - with the bugs that get past code review.
Everything you need to ship a contact form on a JAMstack site without spinning up a backend - 5 approaches compared, with real code.
Switch from Formspree to Formspring without breaking your forms or webhook receivers. Real code, real steps, real timing.
How to handle React forms without a validation library — plain HTML5 + the Constraint Validation API + a hosted backend. Zero dependencies, zero bundle bloat.
The complete contact-form playbook for static sites in 2026 — from one-line HTML to multi-step JAMstack with signed webhooks, retention rules, and AI moderation.
How webhook senders should retry failed deliveries — exponential backoff math, jitter, idempotency keys, and the bugs that ruin good intentions.
No credit card. 50 free submissions a month, every month.