A Next.js App Router project generated by `shadcn init`, using Tailwind 4 and the `base-nova` style
surveyjs-shadcn-starter — Next.js Starter Template
By surveyjs
A SurveyJS starter template built on shadcn/ui and the Next.js App Router, with a built-in multi-step checkout form driven by survey.json.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
A multi-step checkout form rendered by SurveyJS from root `survey.json`, including a cart dynamic matrix and calculated total
Through the adapter stylesheet bundled with `survey-core`, draws colors, border radius, and spacing from shadcn design tokens and follows light/dark themes
The in-browser Edit JSON panel can apply a modified definition, view linter results, or reset, but does not save anything
Can be installed as a shadcn component into an existing app, adding two files and the `survey-core` and `survey-react-ui` packages
The README states there are no environment variables, no database, and no secrets
Template Details
This is a Next.js App Router project generated by `shadcn init`, using Tailwind 4 and the `base-nova` style, with a multi-step checkout form added. The form is rendered by SurveyJS from `survey.json` in the project root, and its content includes cart (dynamic matrix with calculated total), contact, shipping, payment, and review steps. Through the adapter stylesheet bundled with `survey-core`, the form draws colors, border radius, and spacing from shadcn design tokens and follows light/dark theme switching.
The README states the project has no environment variables, database, or secrets. The form definition is plain JSON in the root directory, so you can directly modify the title or add questions; you can also apply a modified definition in the browser's Edit JSON panel, view linter results, or reset to the initial definition. That panel does not save anything and loses changes on refresh. The README mentions that you can visually design the form with the SurveyJS form builder, then paste the JSON to overwrite `survey.json`.
The README also explains how to add the form to an existing shadcn app: install via `npx shadcn@latest add`, which adds two files, `components/survey-form.tsx` and `survey.json`, plus two npm packages, `survey-core` and `survey-react-ui`, and does not add any shadcn components. The README notes that the host for that installation address is not yet live; until then, run `npm run build && npm start` locally and add from `http://localhost:3000/r/survey-form.json`. The component reports completion via the `onComplete` prop; passing `prefillData` adds a "Prefill demo data" button that fills the current page. Saving responses requires your own integration, and the README points to the SurveyJS backend integration documentation.
The README makes clear that this template keeps only one page and one form; for larger needs, refer to the full SurveyJS demos, the MIT demo app, or server-side integration. Regarding dependency strategy, the README explains that the repository keeps `package-lock.json`, and `package.json` uses caret ranges so `npm ci` can reproduce the tested dependency tree; weekly CI installs that day's `survey-core` and `survey-react-ui` on top of it for build and smoke tests, but does not commit any changes, leaving lockfile updates to Renovate or Dependabot via reviewed PRs.
Is it right for your project?
Use Cases
- As a starter template for building a project that combines SurveyJS and shadcn/ui from scratch
- Modify `survey.json` locally and immediately view the rendered multi-step form
- Experiment with form definitions in the browser Edit JSON panel and view linter feedback
- Install `components/survey-form.tsx` and `survey.json` into an existing shadcn app
- Use the `onComplete` and `prefillData` props to hook up form completion callbacks and prefill demo data
Suitable For
- Developers who want to present a SurveyJS multi-step form with shadcn/ui styling
- Teams that need a SurveyJS starter project that can be cloned and has a reproducible dependency tree
- Projects planning to integrate their own backend to save form responses
- People who want to quickly experiment with form definitions by editing JSON first
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run `npm install` and then `npm run dev`; you can also create a new project with `npx create-next-app@latest --example <repository URL> my-app`
- 2
The README states no environment variables, database, or secrets are required
- 3
When adding the form to an existing shadcn app, the README notes that the host for the installation address is not yet live; first run `npm run build && npm start` locally, then add from `http://localhost:3000/r/survey-form.json`
- 4
To change the shadcn style, modify one import line in `survey-form.tsx` to point to `survey-core/themes/adapters/shadcn-<style>.css`, where `<style>` corresponds to the style in `components.json`
- 5
Saving responses requires your own implementation; the README points to the SurveyJS backend integration documentation and notes that the handler function in `survey-form.tsx` marks the integration point
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute the code of that version for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
- When installing the form into an existing shadcn app, the README notes that the host for the installation address is not yet live; until then, run npm run build && npm start locally and add from http://localhost:3000/r/survey-form.json.
- Saving form responses requires your own backend integration; the README only points to the SurveyJS backend integration documentation, and the template itself does not include a storage implementation.
- This template keeps only one page and one form; larger needs require referring to other SurveyJS demos or extending it yourself.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
> The host is not live yet. Until it is, run `npm run build && npm start` here and add from `http://localhost:3000/r/survey-form.json`.
Original README
Saving the response is yours to wire: the handler in `survey-form.tsx` marks the spot — see [SurveyJS backend integration](https://surveyjs.io/backend-integration).
Original README
https://github.com/surveyjs/surveyjs-shadcn-starter/blob/main/LICENSEhttps://github.com/surveyjs/surveyjs-shadcn-starter/blob/main/README.mdThis starter stays one page and one form. Anything bigger has a home already:
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-15. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 85 / 100
- Technologies
- Next.js · React
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-25
- Screenshot last checked
- 2026-10-15
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: codex-user-requested-batch-review-20261015 · 2026-10-15
Inspect the recorded source material
SHA-256: 2d71074780304514ca44ae44f23ab92efe02411c027d070f46f165d5098665e6
2026-10-15T00:08:13.157Z
Source file / repository# surveyjs-shadcn-starter
SurveyJS in a shadcn/ui app — a themed multi-step form, ready to start from. MIT.
A fresh `shadcn init` project (Next.js App Router, Tailwind 4, the `base-nova` style) with one addition: a multi-step checkout form — a cart with a dynamic matrix and computed totals, contact, shipping, payment, review — rendered by [SurveyJS](https://surveyjs.io) from `survey.json`. The form takes its colors, radius and spacing from your shadcn tokens through the adapter stylesheet that ships in `survey-core`, and follows the light/dark toggle.
## Quick start
```bash
git clone https://github.com/surveyjs/surveyjs-shadcn-starter
cd surveyjs-shadcn-starter
npm install
npm run dev
```
Or start a new project from it:
```bash
npx create-next-app@latest --example https://github.com/surveyjs/surveyjs-shadcn-starter my-app
```
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsurveyjs%2Fsurveyjs-shadcn-starter)
No environment variables, no database, no keys.
## First thing to try: edit `survey.json`
The form is plain JSON at the project root. Change a title, add a question, and the page reloads with it. To design a form visually, build it in the [SurveyJS form builder](https://surveyjs.io/create-free-survey) and paste its JSON over `survey.json`.
The **Edit JSON** panel under the form does the same in the browser: apply a changed definition, see the linter's findings, reset to the shipped one. It keeps nothing — reload and it is gone.
## Add the form to an existing shadcn app
```bash
npx shadcn@latest add https://shadcn.demos.surveyjs.io/r/survey-form.json
```
> The host is not live yet. Until it is, run `npm run build && npm start` here and add from `http://localhost:3000/r/survey-form.json`.
The item installs two files — `components/survey-form.tsx` and `survey.json` — and two npm packages, `survey-core` and `survey-react-ui`. It adds no shadcn component. It reports completion through its `onComplete` prop:
```tsx
import { SurveyForm } from "@/components/survey-form"
<SurveyForm onComplete={(data) => console.log(data)} />
```
Pass `prefillData` (answers keyed by question name, defined outside the component so it stays the same object) to add a "Prefill demo data" button that fills the current page; the starter page does this. Without it there is no button.
Saving the response is yours to wire: the handler in `survey-form.tsx` marks the spot — see [SurveyJS backend integration](https://surveyjs.io/backend-integration).
**Another shadcn style** changes one import in `survey-form.tsx`, `survey-core/themes/adapters/shadcn-<style>.css`, where `<style>` is the `style` in your `components.json`:
`default`, `new-york`, `base-nova`, `base-vega`, `base-maia`, `base-lyra`, `base-mira`, `base-luma`, `base-sera`, `base-rhea`.
## Dependency policy
A starter people clone should install what was tested: `package-lock.json` is kept in the repo and `package.json` uses caret ranges, so `npm ci` reproduces the tested tree. A weekly CI run installs today's `survey-core` and `survey-react-ui` on top of it, without saving, and builds and smoke-tests against them — an alarm, not an update. It commits nothing. Moving the lockfile forward is Renovate's or Dependabot's job, through a reviewed pull request.
## What this is not
This starter stays one page and one form. Anything bigger has a home already:
- [The full SurveyJS demo](https://app.demos.surveyjs.io) — Survey Creator, PDF Generator, Dashboard and many more forms.
- [The MIT demo application](https://github.com/surveyjs/surveyjs-demo-mit) — a complete app built on the MIT-licensed libraries only.
- [Server integration](https://surveyjs.io/backend-integration) — storing definitions and responses in your own backend.
## License
[MIT](LICENSE) © Devsoft Baltic OÜ
Explore similar templates
Compare previews and descriptions within the same stack and category.

Next.js SaaS Starter
The official Next.js SaaS starter template, integrating email/password authentication, Stripe Checkout subscriptions, a dashboard with user/team CRUD, basic Owner/Member RBAC, and activity logging.
Next.js · SaaS

Next.js Commerce
Vercel's officially maintained Next.js App Router ecommerce starter with deep Shopify integration, offering a complete product catalog, cart, and checkout flow. Core logic is modular for swapping backends, and community provider versions exist for BigCommerce, Medusa, and Saleor.
Next.js · E-commerce

Next-js-Boilerplate
A developer-first Next.js 16 starter with Tailwind CSS 4 and TypeScript, supporting both App Router and Page Router.
Next.js · Starter

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

next-forge
next-forge is a Turborepo-based Next.js template maintained by Vercel, positioned as a starting point for SaaS products.
Next.js · Starter

SaaS-Boilerplate
SaaS-Boilerplate is an open-source SaaS starter template built with Next.js App Router, React 19, TypeScript, Tailwind CSS, and Shadcn UI.
Next.js · SaaS
