FormsLab is an MIT-licensed, TypeScript-based open-source form builder for teams that need anonymous surveys, polls, and customer feedback collection while keeping the application and its data on infrastructure they control.
What it is
FormsLab is an open-source survey creator and experience management application. It is built on the Next.js and React ecosystem, written in TypeScript, and styled with TailwindCSS. Form definitions and responses are persisted in MongoDB through the Prisma ORM, and authentication is handled by Auth.js. The project positions itself three ways at once: a feedback app for collecting input from customers, a poll creator for voting, and a general survey creator. The builder supports many question types, so a form can be shaped to the collection goal rather than forced into a fixed template, and the README explicitly claims that nothing limits the forms that can be created.
The concrete problem it addresses is the usual one for hosted form and feedback tooling: the builder, the responses, and the respondent experience all sit inside someone else's product. FormsLab occupies that same role โ survey creator and feedback collector โ but ships as a repository that can be run and modified. Because the storage layer is MongoDB via Prisma and the app is a standard Next.js project, the operator decides where form definitions and submissions live, and can extend the builder itself rather than waiting on a vendor roadmap.
Key capabilities
- Form builder with support for many question types, covering surveys, polls, and customer feedback forms from a single tool.
- Anonymous survey collection, aimed at feedback gathering and voting-style polls.
- Next.js and React application written in TypeScript and styled with TailwindCSS.
- MongoDB as the datastore, accessed through the Prisma ORM.
- Authentication through Auth.js for the people creating and managing forms.
- Developer workflow commands documented in the README:
npm install, npm run dev, npm run test, npm run lint, and npm run lint-fix.
- MIT licence, with contributions directed through the repository's
CONTRIBUTING.md and work landing on the develop branch.
Who uses it and how
- Product and support teams that want to collect customer feedback through forms they compose themselves instead of a fixed hosted template.
- Organisers running polls for voting, using the anonymous collection path for responses.
- Self-hosters with an existing MongoDB deployment who want the form application to run alongside it and authenticate users through Auth.js.
- Contributors attracted by the
hacktoberfest topic, working against the develop branch and the contributing guide.
- Evaluators who want to see the application before hosting it, using the live instance at https://formslab.vercel.app.
Getting started
Clone the repository and run npm install to install the project, then npm run dev to run it locally. A live instance is available at https://formslab.vercel.app for evaluation before self-hosting.
How it compares
No list of commercial products that FormsLab replaces is provided in the facts, and no comparable open-source tools are named, so it stands alone in this registry. The distinguishing facts available are its MIT licence, its self-hostable Next.js and MongoDB stack, and its own hosted demo.
When to use it โ and when not to
A self-hoster must operate a MongoDB instance and configure Auth.js, and the README does not document production deployment, environment variables, or Prisma schema setup, so the operator will need to work that out from the source. Anyone who wants a zero-ops managed service, or who needs documented enterprise deployment guidance, should not pick this up expecting it to be turnkey. The README is also short and descriptive rather than instructional, which is the clearest weakness in the material available.