Posts tagged “tutorial”
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.
File uploads from HTML forms without S3 keys
The four ways to handle file uploads from a static-site form. Tradeoffs, code, and why most teams pick option 4.
From mailto: to form backend: when to upgrade
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.
Honeypot vs reCAPTCHA vs hCaptcha: form spam protection compared
Three approaches to stopping form spam, with honest tradeoffs on accuracy, accessibility, privacy, and user friction.
How to receive form submissions in Next.js without a backend
Three patterns for Next.js form submissions: client component, server action, and pure HTML. With code, tradeoffs, and the bug that bites everyone.
How to verify HMAC webhook signatures in Node, PHP, and Python
Constant-time HMAC verification in three runtimes - with the bugs that get past code review.
JAMstack contact form: the complete 2026 guide
Everything you need to ship a contact form on a JAMstack site without spinning up a backend - 5 approaches compared, with real code.
Migrating from Formspree to Formspring: a 5-minute guide
Switch from Formspree to Formspring without breaking your forms or webhook receivers. Real code, real steps, real timing.
React form submissions without React Hook Form
How to handle React forms without a validation library — plain HTML5 + the Constraint Validation API + a hosted backend. Zero dependencies, zero bundle bloat.
Static-site contact form: the 2026 playbook
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.
Webhook retry strategies: exponential backoff explained
How webhook senders should retry failed deliveries — exponential backoff math, jitter, idempotency keys, and the bugs that ruin good intentions.
Ship your form in two minutes.
No credit card. 50 free submissions a month, every month.