Vibecode Formspree

track this build6 phases, 12 steps, beginner friendly
YES · one-shottable
price $15/moyou'd save $180/yrbuild time one sittingcategory 📝 formsreplaced by 0 people

An endpoint that accepts a form post, stores it, emails you and redirects back is the canonical small server. The product sells convenience, spam filtering tuned across thousands of forms, and not running a server.

the project pack5 files · written for this build, step by step
README.md
# Formspree · indie build

A form backend for static sites: point any plain HTML form at your endpoint and get the submission stored, emailed to you and optionally posted to a webhook, with a honeypot, rate limits and an origin allowlist so strangers cannot post to it. Static site stays static; you run one small server.

Estimated effort: **one sitting**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Node 22, node:http and node:sqlite | accept, store, redirect |
| Email | SMTP via nodemailer, fire-and-forget | a dead mail host must never lose a submission |
| Hosting | A VPS behind Caddy | the endpoint must be public HTTPS |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Everything in this build runs on it: the server, the scripts, the tests.
  - Get it: Download the LTS installer from nodejs.org, or install with your package manager (brew install node, or nvm install 22). Restart the terminal afterwards.
  - Verify: node --version prints v22 or higher
- [ ] **A terminal and a code editor** · free
  - Why: Every step below is a command you type or a file you edit.
  - Get it: VS Code (code.visualstudio.com), Cursor or Zed. Open a folder for the project and use the editor's built-in terminal.
  - Verify: You can open a folder and run a command in its terminal
- [ ] **Git** · free
  - Why: History for your code, and the way most hosts deploy.
  - Get it: Install from git-scm.com or with your package manager, then run git init in the project folder once it exists.
  - Verify: git --version prints a version
- [ ] **The static sites whose forms will post here, with their origins** · free
  - Why: Phase 2 refuses any origin not in the allowlist.
  - Get it: List each site's https origin exactly.
- [ ] **SMTP credentials for notifications** · free tiers exist
  - Why: Phase 3 emails each submission.
  - Get it: Fastmail, Postmark, Resend SMTP or your mail host: host, port, user, app password.
- [ ] **A webhook URL (optional)** (optional) · free
  - Why: The other notification path.
  - Get it: webhook.site while testing.
- [ ] **A small always-on server (VPS)** (optional) · about $5 a month
  - Why: This needs one process running all the time with a public address.
  - Get it: Hetzner Cloud (from about 4 EUR), DigitalOcean or Fly.io. Ubuntu 24.04, the smallest size. You need SSH access and a public IP. Only needed for the deploy phase; develop locally first.
- [ ] **A domain or subdomain** (optional) · roughly $10 a year, or free on an existing domain
  - Why: A public address you own, so links you share never break when a provider changes.
  - Get it: Register at Cloudflare Registrar, Porkbun or Namecheap, or use a subdomain of one you already own. You add one DNS record in the deploy phase.
- [ ] **Caddy on the server** (optional) · free
  - Why: Automatic HTTPS in front of the Node process. Without TLS the browser features this relies on (and your visitors' trust) do not work.
  - Get it: On the VPS: follow the install steps at caddyserver.com/docs/install for Ubuntu. One Caddyfile with your domain and a reverse_proxy line is the whole config.
  - Verify: caddy version prints a version on the server

## Quick start

```sh
mkdir formback && cd formback && git init && npm init -y && npm pkg set type=module
mkdir -p data/uploads && cp .env.example .env
```

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- The integrations gallery and hosted file storage.
- Spam filtering tuned on someone else's traffic.
- Not running a server, which is what Formspree actually sells.
- spam filtering tuned on someone else's traffic
- the integrations (Slack, Zapier, Google Sheets)
- file uploads to their storage
- not running a server for a static site

If one of those is essential to you, that is the reason to keep paying for Formspree, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

The whole appeal of a static site is having no server. Paying $15 to keep it that way is rational, and their spam model has seen more bots than yours ever will.

what you lose

xspam filtering tuned on someone else's traffic

xthe integrations (Slack, Zapier, Google Sheets)

xfile uploads to their storage

xnot running a server for a static site

prior art · use these instead of building, if you'd ratherFormbricksopen-source forms and surveys platform
share on X ↗"I just replaced Formspree ($15/mo) with one prompt"
the numbers

Formspree pricing

personal$15/mo · monthly flat · $180/yr

free tierThe free plan takes 50 submissions a month with a 30-day archive.

verified 2026-09-04 · source ↗

questions
Is Formspree free?

The free plan takes 50 submissions a month with a 30-day archive. Paid is Personal at $15/mo (checked 2026-09-04).

Vibecode Formspree

Yes. A competent AI coding agent (Claude Code, Codex, Cursor) can build a usable personal Formspree replacement in one session with the prompt on this page. It runs on your own machine or server with no subscription.

How much does Formspree cost?

Formspree costs about $15/month (Personal, checked 2026-09-04), which is $180 per year. That's what you save by replacing it with one prompt.

What do I lose by replacing Formspree?

Honestly: spam filtering tuned on someone else's traffic; the integrations (Slack, Zapier, Google Sheets); file uploads to their storage; not running a server for a static site. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Formspree?

Yes: Formbricks (open-source forms and surveys platform). Using prior art is also vibecoding; the prompt is for when you want it exactly your way.