惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
S
Schneier on Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Scott Helme
Scott Helme
V
Vulnerabilities – Threatpost
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
Latest news
Latest news
Google Online Security Blog
Google Online Security Blog
Google DeepMind News
Google DeepMind News
K
Kaspersky official blog
Forbes - Security
Forbes - Security
T
Tenable Blog
The Last Watchdog
The Last Watchdog
T
Tor Project blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
O
OpenAI News
L
LINUX DO - 热门话题
P
Privacy International News Feed
月光博客
月光博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
量子位
博客园 - 【当耐特】
罗磊的独立博客
T
Threatpost
Application and Cybersecurity Blog
Application and Cybersecurity Blog
C
Cisco Blogs
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
N
News | PayPal Newsroom
腾讯CDC
Security Latest
Security Latest
J
Java Code Geeks
L
LINUX DO - 最新话题
N
Netflix TechBlog - Medium
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
D
Docker
Spread Privacy
Spread Privacy
S
Security @ Cisco Blogs
A
Arctic Wolf
H
Hacker News: Front Page
Help Net Security
Help Net Security
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
The Best Form Backend for Static Sites in 2026
Allen Jones · 2026-05-23 · via DEV Community

You built your site on GitHub Pages, Netlify, Vercel, or a plain HTML file. It looks great. But there is one problem.

Your contact form has nowhere to go.

Static sites have no server. No server means no backend. No backend means no way to process form submissions natively. You need a form backend to handle what your static site cannot.

This post covers every realistic option in 2026, what each one actually costs, and which one makes the most sense depending on your use case.


Why Static Sites Need a Form Backend

When a user submits a form on a regular server-rendered site, the server processes the submission, sends an email, saves it to a database, and does whatever else you configured.

Static sites have none of that. The page is just HTML and CSS served from a CDN. There is no process running in the background waiting to handle submissions.

Your options are:

1. Use a third-party form backend service
2. Write a serverless function yourself
3. Use your hosting platform's built-in forms
4. Self-host your own form backend

Enter fullscreen mode Exit fullscreen mode

Each approach has genuine tradeoffs. Here is the honest breakdown.


Option 1: Third-Party Form Backend Services

These are hosted services that give you an endpoint URL. You point your form action at that URL, and they handle everything else.

Formspree

One of the oldest form backends. Been around since 2012.

What it does well:

Simple and reliable
Good documentation
Works with any HTML form
Large user base
Established reputation

Enter fullscreen mode Exit fullscreen mode

The honest problems:

Free plan: 50 submissions per month
           1 form only
           No spam filtering
           Submissions go straight
           to the inbox, including spam

Paid plan: $15 per month
           Spam filtering
           More submissions
           No lead management
           No pipeline
           Stops at the inbox

Enter fullscreen mode Exit fullscreen mode

The biggest limitation of Formspree is that it stops at the inbox. Every submission becomes an email. You are responsible for tracking who you contacted, who you followed up with, and who converted. There is no system for that built in.

If you receive 20 enquiries per month and manually track them all in a spreadsheet or Gmail labels, Formspree works. If you want something that actually helps you manage leads, it does not.

Pricing: Free up to 50 submissions. $15 per month for paid features.


Netlify Forms

If you are already hosting on Netlify, their built-in forms are a natural first choice.

What it does well:

Zero configuration if already on Netlify
No external service needed
Clean integration with existing workflow
Submissions visible in the Netlify dashboard

Enter fullscreen mode Exit fullscreen mode

The honest problems:

Free plan: 100 submissions per month
           Basic spam filtering only
           No email notifications by default
           Need to set up notifications manually

Paid plans: $19 per month minimum
            Still no lead management
            Basic submission storage only

Locked to Netlify:
            If you move hosting, you
            lose your form history
            Not portable

Enter fullscreen mode Exit fullscreen mode

Netlify Forms is convenient if you are already on Netlify and have low volume. The moment you outgrow 100 submissions per month or need any form of lead tracking, it falls short.

Pricing: Free up to 100 submissions on Netlify free tier. $19 per month for Pro.


Basin

A simpler form backend aimed at developers who want clean, minimal tooling.

What it does well:

Clean developer experience
Good spam filtering
Reasonable pricing
Simple dashboard

Enter fullscreen mode Exit fullscreen mode

The honest problems:

Free plan: 100 submissions per month
Paid plan: $15 per month
No lead pipeline
No follow-up reminders
No Google Sheets sync
Stops at the inbox like Formspree

Enter fullscreen mode Exit fullscreen mode

Basin is a solid Formspree alternative, but it solves the same problem in roughly the same way. If Formspree is not working for you, Basin is a lateral move, not an upgrade.

Pricing: Free up to 100 submissions. $15 per month paid.


Web3Forms

A newer form of backend that has grown quickly.

What it does well:

Generous free plan
Good deliverability
Clean API
Actively maintained

Enter fullscreen mode Exit fullscreen mode

The honest problems:

Free plan: unlimited submissions
           but basic features only
Paid plan: $18 per month
No lead management
No pipeline
No follow-up system
Stops at the inbox

Enter fullscreen mode Exit fullscreen mode

Web3Forms has a genuinely generous free plan, which is why it has grown. But the same limitation applies: it stops at the inbox. Every submission becomes an email, and you manage the rest manually.

Pricing: Free with limited features. $18 per month paid.


Formgrid

Full disclosure: I built Formgrid. This is the tool I use and the one I think is the most complete solution for developers and small businesses on static sites.


What it does differently:

Every other form backend on this list stops at the inbox. Formgrid does not.

Every submission becomes a tracked lead automatically. Not just an email. A lead with a status, a notes field, a follow-up reminder, and a conversion tracking system built in.

Submission arrives
Automatically becomes a lead
Status: New
You contact them
Status: Contacted
They become a customer
Status: Converted
Conversion rate updates automatically

Enter fullscreen mode Exit fullscreen mode

You can rename the stages to match your exact workflow. A quote request business might use New Request, Quote Sent, Negotiating, and Won. An event organizer might use Registered, Confirmed, Attended. The pipeline adapts to how you actually work.

Google Sheets sync without Zapier:

Formspree charges $90 per month for Google Sheets integration. Formgrid includes it on Premium at $12 per month. No Zapier account. No automation setup. Every submission appears as a new row in your Google Sheet automatically.



Spam protection on every plan:

I tested the same crypto spam submission on the Formspree free plan and the Formgrid free plan last week. Formspree delivered it straight to the inbox. Formgrid blocked it silently before it reached the inbox.

Emoji in name fields, disposable email addresses, HTML injection, and known crypto spam patterns are filtered automatically on every plan, including free.

Open source and self-hostable:

The entire codebase is on GitHub under the MIT license. If you want unlimited free usage, you can self-host on Docker. No vendor lock-in.

Pricing:

Free: 3 forms, 25 submissions per month
Premium: $12 per month, unlimited forms,
         1000 submissions, Google Sheets,
         file uploads, CSV export,
         auto-responder emails
Business: $29 per month, everything in
          Premium plus custom HTML emails,
          unlimited Google Sheets,
          webhooks and Zapier,
          15000 submissions

Enter fullscreen mode Exit fullscreen mode


Option 2: Serverless Functions

If you are comfortable with code, you can write your own form handler as a serverless function on Vercel, Netlify, or Cloudflare Workers.

// Example Vercel serverless function
export default async function handler(req, res) {
  const { name, email, message } = req.body

  await sendEmail({
    to: 'you@yourdomain.com',
    subject: `New contact from ${name}`,
    body: message
  })

  res.status(200).json({ success: true })
}

Enter fullscreen mode Exit fullscreen mode

What it does well:

Complete control
No monthly fees beyond email service
Integrates with any email provider
Customizable to any requirement

Enter fullscreen mode Exit fullscreen mode

The honest problems:

You maintain it yourself
No dashboard to view submissions
No spam protection unless you build it
No lead management unless you build it
Email delivery setup and maintenance
Cold start latency on some platforms
Debugging is your responsibility

Enter fullscreen mode Exit fullscreen mode

This approach makes sense if you are a developer who enjoys building infrastructure and has specific requirements that no service can meet. For everyone else, the maintenance overhead is not worth it.


Option 3: Platform Built-in Forms

Some static site platforms include form handling natively.

Netlify Forms: covered above.

Vercel: No built-in form handling. Requires serverless functions or a third-party service.

GitHub Pages: no built-in form handling. Requires a third-party service.

Webflow: has basic form handling but no auto-responder emails natively. You need a third-party service for confirmation emails and lead management.

Framer: same limitation as Webflow. Basic form submissions only. No native auto-responder or lead management.


Option 4: Self-Hosted Form Backend

If you want complete control and no monthly fees, self-hosting is a legitimate option.

Tools worth considering:

Formgrid (open source):

MIT license
Docker deployment
Full feature set, including lead pipeline
PostgreSQL database
Runs on any VPS

Enter fullscreen mode Exit fullscreen mode

Formbricks:

Open source survey and form tool
Self-hostable
More survey-focused than form backend
Good for research and feedback forms

Enter fullscreen mode Exit fullscreen mode

Pocketbase:

Not a form backend specifically
But can handle form submissions
Single binary deployment
Very lightweight

Enter fullscreen mode Exit fullscreen mode

Self-hosting requires a server, maintenance, backups, and email delivery setup. For developers comfortable with DevOps, this is a great option. For everyone else, a managed service is more practical.


The Honest Comparison

Feature Formspree Netlify Forms Basin Web3Forms Formgrid
Free submissions 50/month 100/month 100/month Unlimited 25/month
Paid price $15/month $19/month $15/month $18/month $12/month
Spam filtering Paid only Basic Yes Yes All plans
Lead pipeline No No No No Yes
Follow up reminders No No No No Yes
Google Sheets sync $90/month No No No $12/month
Auto-responder Paid No No No Premium
Open source No No No No Yes
Self-hostable No No No No Yes

Which One Should You Use?

Use Formspree if:

You are already using it
Your use case is simple
You just need email notifications
You have fewer than 50 submissions
per month

Enter fullscreen mode Exit fullscreen mode

Use Netlify Forms if:

You are already on Netlify
You have very low form volume
You do not need email notifications
immediately, and are okay with configuring them

Enter fullscreen mode Exit fullscreen mode

Use a serverless function if:

You are a developer who wants
complete control
You have specific requirements
no service can meet
You enjoy building and maintaining
infrastructure

Enter fullscreen mode Exit fullscreen mode

Use Formgrid if:

You want more than just email notifications
You want to track leads after they submit
You want Google Sheets sync without Zapier
You want spam filtering on the free plan
You want an open source option, you can
self-host if needed
You are managing enquiries for a
real business and need to follow up
without losing track of anyone

Enter fullscreen mode Exit fullscreen mode


How to Connect Any HTML Form to Formgrid

If you are currently using Formspree or no form backend at all, switching to Formgrid takes about 5 minutes.

Step 1: Create a free account at formgrid.dev

Step 2: Create a new form and copy your endpoint URL

Step 3: Update your HTML form action

From this:





  Send

Enter fullscreen mode Exit fullscreen mode

To this:





  Send

Enter fullscreen mode Exit fullscreen mode

Step 4: Submit a test form to confirm it is working

That is it. Your form is live. Every submission now arrives as a tracked lead in your Formgrid dashboard.

Adding the Honeypot Field for Spam Protection

For HTML forms on your own site, add this hidden field inside your form tag to enable honeypot spam protection:


Enter fullscreen mode Exit fullscreen mode

Bots fill in every field, including hidden ones. This catches them automatically. Legitimate users never see or interact with this field.

If you are using the Formgrid form builder, the honeypot field is added automatically. No extra code needed.


The Bottom Line

Every form backend on this list will get your form submissions to your inbox. The question is what happens after that.

If you want to just receive emails, Formspree, Basin, and Web3Forms all work fine. Pick the one with the free tier that fits your volume.

If you want to actually manage the leads that come through those forms, know who you contacted, set follow-up reminders, and track how many enquiries became customers, then Formgrid is the only option on this list that does that without requiring a separate CRM.

For most developers building client sites or running small businesses, the lead management features pay for themselves the first time you close a deal you would otherwise have forgotten to follow up on.

Start free at formgrid.dev