# Templates, page 17

### [Next.js MotherDuck Wasm analytics quickstart](/templates/next.js/next-js-motherduck-wasm-analytics-quickstart)

A Next.js + MotherDuck Wasm-SDK quickstart template containing an interactive data visualization example.

### [next-forge](/templates/next.js/next-forge)

Comprehensive Turborepo template for Next.js apps.

### [PDF to Quiz Generator](/templates/next.js/pdf-to-quiz-generator)

An Next.js application that uses the AI SDK to generate a multiple choice quiz from a PDF.

### [Emergency Redirect Firewall Rule](/templates/other/emergency-redirect-firewall-rule)

Use this template to quickly implement an emergency redirect rule with the Vercel Web Application Firewall (WAF).

### [Get Started with Upstash Redis & SvelteKit](/templates/svelte/get-started-with-upstash-redis-and-svelte-kit)

A simple example to demonstrate Upstash Redis with SvelteKit.

### [Get Started with Upstash QStash & Next.js](/templates/next.js/get-started-with-upstash-qs-tash-and-next-js)

A simple example to demonstrate Upstash QStash with Next.js. We will make a publish request through QStash and observe what's delivered.

### [Get Started with Upstash Vector & Next.js](/templates/next.js/get-started-with-upstash-vector-and-next-js)

A simple example to demonstrate Upstash Vector with Next.js.

### [Rate Limit API Requests Firewall Rule](/templates/other/rate-limit-api-requests-firewall-rule)

Adds a rule to your Vercel Firewall that rate limits API requests.

### [Starhive Next.js Starter](/templates/next.js/starhive-next-js-starter)

Creates a Next.js project connected to Starhive as a backend. Easy onboarding flow with domain code generation.

### [Headlesshost Knowledgebase](/templates/next.js/headlesshost-knowledgebase)

The Headelesshost knowledgebase template can be used to create a simple documentation website using Headlesshost and Next.js.

### [Block WordPress URLs Firewall Rule](/templates/other/block-wordpress-urls-firewall-rule)

Adds a rule to your Vercel Firewall that blocks common WordPress-related URLs.

### [Block Bad Bots Firewall Rule](/templates/other/block-bad-bots-firewall-rule)

Adds a rule to your Vercel Firewall that identifies bots that you might not want requesting your projects.

### [Reasoning Steps - AI SDK](/templates/next.js/reasoning-steps-ai-sdk)

This Next.js chatbot uses the AI SDK's streamText function with maxSteps and a reasoning tool to reason on user queries.

### [Array Output Mode - AI SDK](/templates/next.js/array-output-mode)

Learn the difference between array and object output modes with streamObject from the AI SDK.

### [No Schema Output Mode with Vercel AI SDK](/templates/next.js/ai-sdk-no-schema)

A Next.js chatbot using the Vercel AI SDK's streamObject function without an underlying schema (no schema output mode).

### [Next.js Starter for WordPress Headless CMS](/templates/next.js/nextjs-wordpress-headless-cms)

next-wp is a Next.js application for Headless WordPress. Includes functions for fetching posts, categories, tags, pages, and featured media.

### [Automatic Tool Call Roundtrips with Vercel AI SDK](/templates/next.js/ai-sdk-roundtrips)

A Next.js chatbot using the Vercel AI SDK's streamText function to automatically handle multiple tool call roundtrips.

### [Provider Registry with Vercel AI SDK](/templates/next.js/ai-sdk-provider-registry)

A Next.js chatbot using the Vercel AI SDK's streamText function with a provider registry to allow users to switch models.

### [Next.js AI Lite](/templates/next.js/next-js-ai-lite)

A simplified starting point for building applications with the AI SDK and Next.js. Focus is exclusively on simple steps to adopting AI.

### [Generative UI Chatbot with React Server Components](/templates/next.js/rsc-genui)

A Generative UI chatbot that streams React Server Components from the Server with Next.js and the Vercel AI SDK

### [Forefront AI Dataset Filtering Tool](/templates/next.js/forefront-ai-dataset-filtering-tool)

An easy-to-use interface for viewing, filtering, and editing datasets. Use Vercel AI SDK to generate new samples or rewrite existing samples