Formbricks is an open source alternative to Qualtrics that enables teams to collect and analyze user feedback across websites, apps, emails, and link-based surveys without compromising data privacy. Designed for product teams, customer success, and UX researchers, it solves the problem of fragmented feedback tools by unifying survey collection and analysis in one privacy-first platform.
Built with Next.js, React, TypeScript, and TailwindCSS, Formbricks supports both cloud hosting and full self-hosting via Docker. It integrates with Auth.js, Prisma, and Zod for secure, scalable deployment and offers extensibility through APIs and webhooks, making it ideal for organizations requiring compliance with GDPR and other data privacy regulations.
What You Get
- No-Code Survey Editor - Build conversion-optimized surveys with drag-and-drop question types including NPS, multiple choice, rating scales, and open-text fields without writing code.
- In-App Surveys - Embed surveys directly into web applications using a single <script> tag or NPM package for React, Vue, and Svelte frameworks.
- Website Surveys - Target specific website visitors with surveys triggered by URL paths, user behavior, or custom attributes like location or device type.
- Email Surveys - Send branded, customizable surveys embedded in transactional or marketing emails to gather feedback at key customer journey touchpoints.
- Targeted Survey Logic - Pre-segment audiences using custom user attributes (e.g., plan tier, signup date, feature usage) to show surveys only to relevant users.
- Link Surveys - Generate shareable URLs for surveys to distribute via social media, support tickets, or offline channels with full analytics tracking.
- Self-Hosting Support - Deploy the full platform on your own infrastructure using Docker, ensuring complete data control and GDPR compliance.
- Slack, Notion & Zapier Integrations - Automatically send survey responses to Slack channels, Notion databases, or automate workflows via Zapier and n8n.
Common Use Cases
- Running a paid membership newsletter - A publisher uses Formbricks to embed a post-read survey in their email newsletter to measure reader satisfaction and identify content gaps.
- Improving SaaS onboarding - A product team triggers a 3-question survey after a new user signs up to identify friction points and offer personalized help.
- Reducing customer churn - A SaaS company runs a pre-churn survey targeting users with upcoming renewals to understand reasons for cancellation and retain them.
- Gathering product feedback in-app - A B2B SaaS team uses in-app surveys to ask users about a new feature immediately after they use it, capturing real-time sentiment.
Under The Hood
Architecture
- Monorepo structure cleanly separates frontend applications from shared backend packages, enabling independent development and deployment cycles
- Backend API layer uses Hono.js with OpenAPI contracts and strict schema validation to enforce type-safe interfaces
- Prisma ORM serves as the centralized data access layer with explicit domain modeling for surveys, responses, and users
- Dependency injection via service modules decouples business logic from HTTP handlers, promoting testability and modularity
- Frontend leverages React Server Components and Server Actions to minimize client-side hydration and optimize data fetching
- Infrastructure is containerized with Docker Compose, isolating databases, object storage, and caching layers for clean environmental boundaries
Tech Stack
- Next.js 15 and React 19 power the frontend with TypeScript, React Hook Form, and Vite-based Storybook for component development
- Prisma integrates with PostgreSQL and Valkey for structured data modeling, caching, and vector embeddings within a monorepo ecosystem
- Turbo monorepo tooling coordinates build, test, and lint workflows across multiple internal packages
- Hono.js serves as the lightweight HTTP framework with full OpenAPI documentation and seamless integration with Next.js API routes
- Playwright and Vitest provide comprehensive end-to-end and unit testing, supported by Husky and lint-staged for pre-commit quality gates
- MinIO and MailHog enable S3-compatible storage and email testing, with pnpm dependency overrides ensuring security and compatibility
Code Quality
- Extensive test coverage spans unit, integration, and edge-case scenarios with robust mocking of Prisma, auth, and external services
- Result-type error handling (ok/error pattern) ensures safe, structured responses without exposing internal system details
- Zod and Prisma-generated types enforce compile-time correctness and runtime validation across the stack
- Comprehensive error boundaries translate low-level database errors into meaningful, user-safe domain errors with proper logging
- Consistent, descriptive naming and clear layering between API handlers, services, and utilities enhance code readability and maintainability
- Advanced mocking techniques using vi.hoisted and vi.mock preserve test clarity while isolating dependencies effectively
What Makes It Unique
- Native rich-text editor with extensible block system enables fully customizable survey question types without external dependencies
- Real-time visibility state tracking dynamically updates onboarding flows based on tab focus, eliminating polling overhead
- Unified webhook system natively triggers on survey lifecycle events via Prisma, removing need for external event buses
- Environment-aware configuration dynamically adapts UI and behavior per project context, reducing boilerplate
- CSS-in-JS hybrid styling with semantic utilities and theming hooks ensures design system consistency while allowing deep customization
- Built-in response validation engine automatically handles edge cases in unstructured user input with type-safe guarantees