Skip to content

About

Open-source AI form builder. Build forms by prompt or chat, co-edit live with your team, self-host. Typeform/Jotform alternative.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

2,205 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dculus Forms logo

Dculus Forms

The open-source AI form builder your whole team can build together

Describe a form and AI builds it. Refine it by chat or drag and drop, co-edit it live with your team, and send every response into logic, automations, PDFs and analytics. Use the free managed cloud, or self-host it and own your data.

License: GPL v3 Build CodeQL npm @dculus/form-renderer GitHub stars Last commit PRs welcome

Try it free Β· Website Β· Templates Β· Self-hosting Β· Docs Β· Architecture


⭐ If Dculus Forms is useful to you, star the repo. It helps other teams find an open-source alternative to closed form builders.

Table of contents

What is Dculus Forms?

Dculus Forms is a free, open-source (GPLv3) AI-powered form builder and survey tool. You type what you need ("a job application form with a CV upload") and it generates the form. You then edit it by chatting with the AI or by drag and drop, while teammates edit the same form in real time. It is a self-hostable alternative to Typeform, Jotform, Google Forms and Zoho Forms, built with React, GraphQL, PostgreSQL and Y.js.

  • Cloud: sign up free at forms.dculus.com. Team collaboration is on every plan.
  • Self-hosted: run the whole stack on a single small server and keep every response on your own infrastructure.

Status: Dculus Forms is in public beta. It's used in production and under active development.

Features

πŸ€– AI form builder

  • Generate a form from a prompt: describe it in plain language and get pages, fields and validation.
  • Edit forms by chat: "make the phone number optional", "add a rating question after page 2".
  • AI auto-tagging of responses so you can sort and filter feedback without reading every answer.

πŸ‘₯ Built for teams

  • Live co-editing (Google Docs-style) powered by Y.js and Hocuspocus.
  • Organizations and per-form permissions (view / edit / own).
  • Response edit history with per-field diffs.

🧩 Form building

  • 13 field types: short text, long text, email, number, phone, date, dropdown, radio, checkbox, grid, file upload, rating (stars, numbers and NPS) and rich text.
  • Conditional logic: show or hide questions and whole pages.
  • Quizzes with automatic grading.
  • 9 layouts and a theme editor, multi-page forms and custom endings.
  • CAPTCHA and e-signature.

⚑ Automations and integrations

  • Workflow automations with triggers, delays, conditions, run history and retries.
  • Email notifications and webhooks.
  • Google Sheets and Microsoft Sheets (Excel Online) plugins.

πŸ“„ Responses, PDFs and analytics

  • PDF generated from each response with a visual template designer (pdfme), including Tamil font support.
  • Excel and CSV export, advanced response filters.
  • Analytics: views, submissions, completion time, device, location and per-field charts (including NPS).

🌐 Share anywhere

  • Embed as a link, inline, popup, drawer or full page.
  • 60+ ready-made templates across HR, education, events, healthcare, feedback and more.
  • UI in English and Tamil, billing in USD and INR.

How it compares to Typeform, Jotform and Zoho Forms

Dculus Forms Typeform Jotform Zoho Forms
Open source (GPLv3) βœ… ❌ ❌ ❌
Self-host and own your data βœ… ❌ ❌ ❌
Team collaboration on every plan βœ… 1–5 seats (6+ on Enterprise) Single user below Enterprise 1–100 users by tier
Free plan βœ… βœ… βœ… βœ…

Seat limits checked against the vendors' pricing pages (Typeform, Jotform, Zoho Forms) in November 2026; plans change, so check them before deciding. Other vendors also offer AI and collaboration features, so compare on what matters to you. See dculus.com for current Dculus plans.

Form templates

Start from a template and customize it with AI. Browse all of them in the form template gallery.

Contact form template
Contact form
Job application form template
Job application form
Event registration form template
Event registration form
Customer satisfaction survey template
Customer satisfaction survey

Want to add a public template? See the template authoring guide.

Quick start

Option 1: Use the cloud (fastest)

Sign up free at forms.dculus.com. No install needed.

Option 2: Run it locally

Prerequisites: Node.js β‰₯ 22.12, pnpm β‰₯ 8, Docker (for PostgreSQL).

# 1. Clone and install
git clone https://github.com/dculussoftwares/dculus-forms.git
cd dculus-forms
pnpm install

# 2. Configure the backend
cp apps/backend/.env.example apps/backend/.env

# 3. Start PostgreSQL and set up the database
#    (pnpm docker:up runs `docker-compose`; with only the Compose plugin, use `docker compose up -d`)
pnpm docker:up
pnpm db:generate
pnpm db:push
pnpm db:seed        # optional sample data

# 4. Build shared packages, then start everything
pnpm build
pnpm dev
App URL
Form builder (form-app) http://localhost:3000
Form viewer (form-viewer) http://localhost:5173
Admin dashboard (admin-app) http://localhost:3002
Backend API http://localhost:4000
GraphQL endpoint http://localhost:4000/graphql
pgAdmin http://localhost:5050

The .env.example defaults let the apps start, but you must change some values in apps/backend/.env:

Feature What to configure
Auth secret (required) Set BETTER_AUTH_SECRET to a unique value (openssl rand -hex 32). The example value is public, so anyone could forge session cookies against a server that keeps it.
Sign-up and password emails SMTP settings (SMTP_*). Email verification is required outside the test environment.
App URLs Set FORM_APP_URL and FRONTEND_URL to http://localhost:3000 and FORM_VIEWER_URL to http://localhost:5173. The defaults are yourdomain.com placeholders, so invitation and magic-link emails would point to the wrong place.
File upload fields S3-compatible storage with region auto (Cloudflare R2, MinIO and similar; AWS S3 is not supported because the storage client does not use S3_REGION): set the endpoint, keys, and a public and a private bucket (PUBLIC_S3_*, PRIVATE_S3_BUCKET_NAME), and set PUBLIC_S3_CDN_URL to the public bucket's accessible URL. The placeholder values will not work.
AI form builder Model credentials (AI_PRIMARY_*, AI_FAST_*). AI chat is also checked against a credit allowance tied to the billing setup, so AI needs a configured plan allowance as well. See The AI form editor and Plans, usage and billing.
Billing and plans Chargebee (CHARGEBEE_*). Optional for basic local development.
More scripts
pnpm backend:dev          # backend only
pnpm form-app:dev         # form builder only
pnpm form-viewer:dev      # form viewer only

pnpm lint                 # lint all packages
pnpm type-check           # type-check all packages
pnpm test:unit            # backend unit tests (Vitest)
pnpm test:integration     # API integration tests (Cucumber)
pnpm test:e2e             # end-to-end tests (Playwright + Cucumber)

pnpm db:studio            # Prisma Studio
pnpm db:migrate:dev       # create a migration
pnpm docker:down          # stop PostgreSQL

Tech stack

Layer Technology
Frontend React, TypeScript, Vite, Tailwind CSS, shadcn/ui, Apollo Client
Backend Node.js, Express, Apollo Server (GraphQL), Prisma
Database PostgreSQL
Real-time collaboration Y.js, Hocuspocus
Auth Better Auth
PDFs pdfme
Rich text Lexical
Testing Vitest, Cucumber, Playwright
Infra Docker, Terraform, Azure Container Apps, Cloudflare Pages and R2

Project structure

dculus-forms/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ backend/        # Express + Apollo GraphQL API, Prisma, Hocuspocus
β”‚   β”œβ”€β”€ form-app/       # Form builder (React)
β”‚   β”œβ”€β”€ form-viewer/    # Public form renderer and submission (React)
β”‚   └── admin-app/      # Admin dashboard (React)
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ form-renderer/  # @dculus/form-renderer, published to npm
β”‚   β”œβ”€β”€ plugins/        # Integrations: email, webhooks, sheets, quiz grading
β”‚   β”œβ”€β”€ types/          # Shared TypeScript types and field models
β”‚   β”œβ”€β”€ ui/             # Shared shadcn/ui components and rich text editor
β”‚   └── utils/          # Shared utilities and constants
β”œβ”€β”€ infrastructure/     # Terraform for cloud deployments
β”œβ”€β”€ docs/               # Architecture guides, specs and deployment docs
└── test/               # Integration and E2E test suites

New to the codebase? Read How Dculus Works: 12 guides with diagrams, each answering "what actually happens when...?":

  1. The life of a submission
  2. One event, three listeners
  3. Request anatomy
  4. Automations
  5. The plugin pipeline
  6. PDF generation
  7. Real-time collaboration
  8. The AI form editor
  9. Authorization
  10. Plans, usage and billing
  11. File storage
  12. The field type system

Preview forms in your own React app

@dculus/form-renderer renders a Dculus form schema as an interactive, read-only preview (it powers the template gallery). It never submits responses; to collect responses, share or embed a live form from the builder. See the package guide.

npm install @dculus/form-renderer

Self-hosting and deployment

Dculus Forms runs on a single small server: a Node.js backend (Docker image), static frontends and PostgreSQL.

The frontends are static and run on any static host (Cloudflare Pages, Netlify, Vercel, S3 + CloudFront, Azure Static Web Apps, nginx).

Maintainers cut releases from Actions β†’ Release β†’ Run workflow on main. See Creating a Release.

FAQ

Is Dculus Forms free?

Yes. The source code is free under GPLv3 and you can self-host it at no cost. The managed cloud at forms.dculus.com has a free plan. Paid plans add higher limits (pricing).

Is Dculus Forms a good open-source alternative to Typeform, Jotform or Google Forms?

Yes, if you want AI form generation, live team co-editing and the option to self-host. It covers multi-page forms, conditional logic, quizzes, file uploads, automations, webhooks, Google Sheets and Microsoft Sheets sync, PDFs and analytics. It does not take payments.

Can I self-host Dculus Forms?

Yes. It runs on one small server with PostgreSQL. Follow the self-hosting guide or the deployment guide.

How does the AI form builder work?

You describe the form in plain language, and the AI proposes a structured form schema with pages, fields and validation. You keep editing it by chat or by hand. The backend never edits a form behind your back: every AI change goes through the same collaborative editor as a human edit. Details: The AI form editor.

Where is my data stored?

Self-hosted: wherever you deploy it. On the managed cloud, data is stored in India.

Can I move my forms from another form builder?

There are no importers yet. Describe the form to the AI builder or start from a template to rebuild it in minutes. Email hello@dculus.com if you need help.

Contributing

Contributions are welcome: bug reports, feature ideas, docs and code.

  1. Check open issues or open a new one using the bug report or feature request template.
  2. Fork the repo and create a branch from main.
  3. Follow the local setup above and read the relevant architecture guide.
  4. Add tests where it makes sense, and run pnpm lint and pnpm type-check.
  5. Open a pull request describing the change.

Star history

Star History Chart

License

Dculus Forms is licensed under the GNU General Public License v3.0.

Acknowledgements

Product analytics for Dculus Forms is powered by OpenPanel, an open-source analytics platform.

Support

Keywords: open-source form builder Β· AI form builder Β· self-hosted form builder Β· Typeform alternative Β· Jotform alternative Β· Google Forms alternative Β· Zoho Forms alternative Β· online survey tool Β· quiz maker Β· form automation Β· React Β· GraphQL Β· PostgreSQL

About

Open-source AI form builder. Build forms by prompt or chat, co-edit live with your team, self-host. Typeform/Jotform alternative.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages