Blog
Forms, minus the backend
Practical, no-fluff guides on wiring up contact forms for static sites - spam, GDPR, file uploads, notifications, and the decisions that quietly cost you leads.
Contact form testing: the pre-launch checklist
A broken contact form fails silently and costs leads for weeks. The 15-minute pre-launch checklist: happy path, validation, spam, mobile, and notifications.
· 3 min readRead postGoogle Forms vs a real contact form on your website
Google Forms is free and easy - but embedding it on a business site costs you branding, UX, and data control. When it's fine and when to use a native form.
· 3 min readRead postFile uploads on a static site: your real options
Static hosting can't receive files - but your forms still can. How multipart uploads work through a form backend, plus limits, security, and GDPR storage.
· 3 min readRead postPush notifications for forms: why email alerts aren't enough
Email alerts for form submissions get buried. Web push notifications reach your phone and desktop instantly - here's how they work and how to set them up.
· 3 min readRead postGDPR-compliant contact forms: a practical checklist
What GDPR actually requires from a contact form: lawful basis, data residency, retention, and privacy policy wording. A practical checklist for developers.
· 4 min readRead postMigrating from Formspree to Formhook: the ten-minute guide
Switching form backends is a one-line change. The full Formspree to Formhook migration: export, endpoint swap, spam settings, and testing - in ten minutes.
· 3 min readRead postContact form spam: honeypots, rate limits & Turnstile
How form spam actually works and the three layers that stop it: honeypot fields, rate limiting, and Cloudflare Turnstile - without punishing real visitors.
· 3 min readRead postMailto links vs contact forms: which loses fewer leads?
Mailto links fail silently without a mail client and expose your address to spam bots. When a mailto is fine, and when a contact form pays for itself.
· 3 min readRead postHow to add a contact form to GitHub Pages
GitHub Pages can't run server code, but you can still have a working contact form. Three approaches compared, with a copy-paste solution that takes a minute.
· 3 min readRead postWhat is a form backend? (And when you need one)
A form backend receives, stores, and forwards your website's form submissions so you don't run a server. Here's how they work and when you need one.
· 3 min readRead post