DEV Community

Samarpan
Samarpan

Posted on

FormTake - Collect form submissions without building a backend.

The Problem

Building a form on the frontend is easy.

The annoying part comes afterward: where do the submissions go?

For a simple contact form, portfolio, landing page, or small website, setting up an entire backend, database, API, validation and deployment can be unnecessary overhead.

I built FormTake to solve that problem.

What FormTake Does

FormTake provides a backend layer for your forms.

Instead of building and maintaining your own form-handling backend, you can connect your existing form to FormTake and manage the submissions through a dashboard.

Basic flow

Website / App
↓
FormTake
↓
Form Submission
↓
Dashboard

Features

  • Create and manage forms
  • Receive form submissions
  • View submissions from a dashboard
  • Simple form integration
  • API-based submission handling
  • Authentication
  • Support for modern frontend frameworks

Supported

FormTake can be used with:

  • HTML
  • React
  • Next.js
  • Vue
  • Astro
  • Svelte
  • Other applications capable of making HTTP requests

Why I Built It

I've built multiple websites where the actual form wasn't difficult to create — handling the submissions was.

I wanted something that sat between:

"Build your own backend"

and

"Use a huge form platform for a simple form."

FormTake is my attempt at keeping that middle layer simple.

Built With

  • React
  • TypeScript
  • Node.js
  • MongoDB
  • REST APIs
  • Vite
  • Authentication
  • Cloud deployment

Demo

A short video showing the product in action is included above.

Try FormTake:

https://formtake.owsam22.com

What's Next

I'm currently looking for feedback from developers who actually build websites and applications.

The biggest questions I'm trying to answer are:

  • Is the setup simple enough?
  • What features are actually necessary?
  • What would make you choose this over building your own endpoint?
  • What integrations would be useful?

FormTake is live, and I'm continuing to improve it based on real usage and feedback.

Top comments (3)

Collapse
 
owsam22 profile image
Samarpan •
Collapse
 
launchgatecheck profile image
Launch Gate •

For choosing this over my own endpoint, I'd want the retry contract clear. A useful fixture is a submission that reaches storage but loses its response, followed by the browser retrying the same request. The dashboard should show one submission, while a genuinely new submission with identical fields should still be accepted. Does the API support a per-submission idempotency key, and does the frontend distinguish a confirmed save from an unknown outcome? That matters more to me than another framework integration.

Collapse
 
elijahbrown profile image
Elijah Brown •

Pointing a contact or waitlist form at an endpoint instead of standing up a whole API is the useful shortcut. When you invent submissions to prove the dashboard path, use domains you control and look up MX / Null MX before you treat a quiet thank-you as "user ignored the reply" (timeout = unchecked). Reserved fiction phones if the form collects one (US 555-0100 to 555-0199, UK 020 7946 0xxx).