Ikiform is a free, open source forms & surveys project written in TypeScript and released under MIT. It has 356 GitHub stars, 50 forks and 0 open issues, and was last pushed 4 months ago. On this registry it ranks #11 of 12 tracked projects in Forms & Surveys, with 5 head-to-head comparisons available.

What is Ikiform?

Ikiform is an MIT-licensed, TypeScript-based open-source form builder and analytics platform for teams that want to create, publish and analyse forms without handing their submission data to a hosted survey vendor.

What it is

Ikiform is a modern, AI-powered form builder and analytics platform released under the MIT licence. The codebase is written in TypeScript and built on Next.js 16 with the App Router and Turbopack, React 19, Supabase and Tailwind CSS v4. Interface primitives come from Base UI via @base-ui/react, generated with the shadcn CLI using the base-vega style recorded in components.json. Browser regression coverage is handled by Playwright. The public repository carries 356 stars and 50 forks, with no open issues and a last push on 12 May 2026. A hosted instance is offered at ikiform.com.

The concrete problem it solves is the familiar one for hosted form services: a team needs to publish a form, collect responses, accept file uploads and read the results, but does not want a per-response subscription, a vendor holding the data, or a closed builder that cannot be extended. Ikiform puts the builder, the public form routes, the submission store and the analytics dashboard into one application the operator controls. Public forms are served from /f/[slug], the builder lives under /form-builder/[id], and responses are readable at /dashboard/forms/[id]/submissions with analytics alongside at /dashboard/forms/[id]/analytics. It replaces the hosted form-and-survey subscription that a team would otherwise buy and depend on.

Key capabilities

  • AI-assisted form creation through the /ai-builder route and the /api/ai-builder and /api/ai-builder/chat endpoints, with chat sessions tracked at /api/chat/sessions.
  • Analytics and reporting per form at /dashboard/forms/[id]/analytics, plus a conversational analytics interface at /api/analytics-chat with history at /api/analytics-chat/history.
  • Submission handling through /api/forms/[id]/submit for browser submissions and /api/forms/[id]/api-submit for programmatic ones, listed at /dashboard/forms/[id]/submissions.
  • File uploads via /api/upload, with signed URL refresh at /api/files/refresh-urls.
  • Outbound and inbound webhooks at /api/webhook, including test, resend, logs, inbound receivers and a Polar billing hook at /api/webhook/polar.
  • Embed tooling at /embed with a preview at /embed/test, and per-form appearance control at /form-builder/[id]/customize.
  • Admin surfaces at /admin, /admin/forms/[formId] and /admin/users/[userId], backed by /api/admin/form-submissions and user statistics endpoints such as /api/users/count.

Who uses it and how

  • Teams self-hosting a Next.js and Supabase stack run the whole product themselves, including the builder, the public forms and the dashboards, and keep submissions in their own database.
  • Operations and analytics staff work in /dashboard against per-form analytics and submission lists, while administrators use /admin to inspect forms and users and to query endpoints such as /api/users/stats.
  • Developers integrate external systems through the webhook suite, using /api/webhook/[id]/test, /api/webhook/[id]/resend and /api/webhook/logs to verify delivery, and /api/forms/[id]/api-submit to create submissions from other services.
  • Marketing and product teams embed forms into existing sites and pages rather than sending visitors to a third-party domain.
  • Engineering teams get regression coverage from the Playwright specs e2e/smoke-interactions.spec.ts and e2e/ui-regressions.spec.ts, and can drive a real login flow with bun run agent:live-login.

Getting started

Install dependencies with bun install, copy the environment template with cp .env.example .env.local and fill in the required values, then run bun run dev; the application serves on http://localhost:3000 by default. A production run uses bun run build followed by bun run start, and a hosted version is available at ikiform.com.

How it compares

No competing products are named in the facts supplied for this entry. Ikiform stands alone in this registry.

When to use it — and when not to

A self-hoster must operate the Supabase backend and supply the environment values described in .env.example, and the README documents no Docker image, compose file or one-command deployment, so the operator owns the hosting path. Anyone who needs a documented managed deployment, published release notes or a complete deployment checklist should look elsewhere for now. The README is also thin in places and the excerpt ends part-way through the project directory tree, so parts of the architecture have to be read from the source rather than from the documentation.

project readme (upstream, from github) — read inline

Ikiform



Vercel OSS Program


Ikiform is a modern, AI-powered form builder and analytics platform. It allows users to create, manage, and analyze forms with advanced features such as AI-assisted form creation, analytics, and integrations.

Built with Next.js App Router, React, Supabase, and Tailwind CSS.

  • AI-powered form builder
  • Real-time analytics and reporting
  • User authentication and dashboard
  • Customizable appearance and themes

Tech Stack

  • Next.js 16 (App Router + Turbopack)
  • React 19
  • Supabase
  • Tailwind CSS v4
  • Base UI primitives via @base-ui/react
  • shadcn CLI with base-vega style (components.json)
  • Playwright for browser E2E/regression coverage

Quick Start

  1. Install dependencies:
    • bun install
  2. Configure environment:
    • cp .env.example .env.local
    • Fill required values in .env.local
  3. Start local dev server:
    • bun run dev

The app will be available at http://localhost:3000 by default.

Scripts

  • bun run dev: Start development server.
  • bun run build: Production build.
  • bun run start: Start production server.
  • bun run lint: Lint checks.
  • bun run format: Auto-format code.
  • bun run check: Full static checks (via ultracite).
  • bun run test:e2e: Run Playwright E2E suite.
  • bun run test:e2e:headed: Run E2E tests in headed mode.
  • bun run test:e2e:ui: Open Playwright UI mode.
  • bun run test:e2e:report: Open Playwright HTML report.
  • bun run agent:live-login: Run live agent-browser login automation helper.

Routes Overview

Public App Routes

  • /: Marketing home.
  • /login: Auth UI.
  • /reset-password: Password reset.
  • /changelog: Product changelog.
  • /embed, /embed/test: Embed tooling and preview.
  • /ai-builder: AI builder UI.
  • /demo-form-builder: Demo experience.
  • /form-builder: Form builder index.
  • /form-builder/[id]: Builder editor.
  • /form-builder/[id]/customize: Form customization.
  • /forms/[id]: Internal form page.
  • /f/[slug]: Public form by slug.
  • /success: Post-checkout/success state.
  • /legal/privacy, /legal/terms, /legal/gdpr, /legal/dpa: Legal pages.

Authenticated/Admin Routes

  • /dashboard: User dashboard.
  • /dashboard/forms/[id]/analytics: Form analytics.
  • /dashboard/forms/[id]/submissions: Form submissions.
  • /admin: Admin dashboard.
  • /admin/forms/[formId]: Admin form details.
  • /admin/users/[userId]: Admin user details.

Internal Test Harness Route

  • /e2e-ui: Internal UI regression harness for Playwright checks.
  • This route is blocked from indexing and excluded from sitemap output.

API Route Groups

  • Auth/identity: /auth/callback, /api/user, /api/chat/sessions
  • AI: /api/ai-builder, /api/ai-builder/chat, /api/analytics-chat, /api/analytics-chat/history
  • Forms: /api/forms/[id]/submit, /api/forms/[id]/api-submit, /api/demo-options
  • Upload/files: /api/upload, /api/files/refresh-urls
  • Webhooks: /api/webhook, /api/webhook/[id], /api/webhook/[id]/test, /api/webhook/[id]/resend, /api/webhook/inbound, /api/webhook/inbound/[id], /api/webhook/logs, /api/webhook/polar
  • Admin: /api/admin/form-submissions, /api/admin/user-forms, /api/users/count, /api/users/emails, /api/users/stats
  • Maintenance: /api/cron/expire-trials, /api/google-fonts, /checkout, /portal

UI System Notes

  • components.json is configured with:
    • style: "base-vega"
    • Base UI-backed shadcn generation
  • UI primitives and wrappers are in src/components/ui/.

Testing and Browser Automation

Playwright E2E

  • Config: playwright.config.ts
  • Specs:
    • e2e/smoke-interactions.spec.ts
    • e2e/ui-regressions.spec.ts

For authenticated E2E checks:

E2E_TEST_EMAIL="[email protected]" \
E2E_TEST_PASSWORD="your-password" \
bun run test:e2e

Agent Browser Live Session

Use the helper script to run a real browser login flow you can watch:

AB_EMAIL="[email protected]" \
AB_PASSWORD="your-password" \
bun run agent:live-login

Optional base URL argument:

AB_EMAIL="[email protected]" \
AB_PASSWORD="your-password" \
bun run agent:live-login -- http://127.0.0.1:3000

Project Structure

Ikiform/
├── e2e/                          # Playwright E2E and regression specs
├── public/                       # Static assets + generated robots/sitemap
├── scripts/
│   └── agent-browser/            # Browser automation helpers
├── src/
│   ├── app/                      # Next.js app routes and API handlers
│   ├── components/               # Reusable React components
│   ├── hooks/                    # Custom hooks
│   ├── lib/                      # Services, API clients, utilities
│   └── utils/                    # Shared runtime utils
├── components.json               # shadcn config (base-vega style)
├── next.config.ts                # Next.js configuration
├── next-sitemap.config.js        # Sitemap/robots configuration
├── playwright.config.ts          # Playwright configuration
├── package.json                  # Scripts + dependencies
└── README.md                     # Project documentation

Roadmap

https://www.ikiform.com/roadmap

Frequently asked questions

Is Ikiform free to use?

Ikiform is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Ikiform do?

Create stunning forms with AI-powered builder and analytics

What is Ikiform written in?

Ikiform is primarily written in TypeScript. Its source is publicly available at https://github.com/preetsuthar17/ikiform, and it has 356 GitHub stars.