SAVEFORM
Blog

Notes from the
form trenches.

Practical writing about collecting form data without a backend. Spam, webhooks, email, dashboards, and the design decisions behind the quieter pieces of SaveForm.

Latest · Engineering

Why your form's auto-reply shouldn't come from your form

A short engineering story about how letting users control auto-reply email content turns your service into a free SMTP relay, and the boring fix.

4 min readRead post
Guide

Send HTML form submissions to Slack, Discord, or Zapier without a backend

Three patterns for piping a static-site contact form into chat tools, automation platforms, and your own internal services. With copy-pasteable examples.

4 min read
Guide

Where do your contact form submissions actually go?

A tour of the four common destinations for form data on a modern site, the hidden costs of each, and how to pick one without painting yourself into a corner.

4 min read
Guide

Stop forwarding contact form submissions to your inbox by hand

Why mailto: links and Gmail filters fall apart at scale, and how to wire up a clean per-submission email notification with one hidden field.

3 min read
Guide

The 4 ways to handle form-submit success on a static site

Redirects vs success pages vs JS-driven UI vs progressive enhancement: when to reach for which, with the trade-offs nobody mentions.

4 min read
Deep Dive

Anatomy of a form spam attack, and the cheapest way to stop most of it

Real signals from production form spam: random-case gibberish, the Gmail dot trick, disposable domains. Why honeypots still work, and what they miss.

4 min read
Guide

How to add a contact form to a static site (no backend, no signup walls)

A practical guide to wiring an HTML form to a hosted endpoint when you do not want to spin up a server, write a route handler, or babysit a database.

4 min read
Blog — SaveForm.io | SaveForm.io