Skip to content
Docs

Projects overview

Everything you deploy on Vercel lives in a project: a frontend, backend APIs, background workloads, containers, or multiple services. You or your agent can deploy a project from Git, Vercel CLI, the Vercel REST API, or Vercel Drop.

A project groups deployments, domains, environment variables, build and runtime settings, integrations, security controls, and observability. Each project belongs to a team and can have one production deployment alongside many pre-production or preview deployments.

Deploy static sites, server-rendered applications, and full-stack applications built with Next.js, React, Vue, Svelte, Nuxt, Astro, and other supported frameworks. Vercel detects the framework and configures the build output, routing, caching, and runtime for the project.

Use Incremental Static Regeneration, streaming, Partial Prerendering, Image Optimization, and the CDN to serve content globally.

Use Vercel Functions to deploy API routes, webhooks, streamed responses, and request handlers. Vercel Functions support multiple runtimes, including Node.js, Python, Go, Bun, Rust, Ruby, WebAssembly, and the Edge Runtime. You can also deploy backend frameworks such as FastAPI, Flask, Django, Express, Fastify, Hono, NestJS, and Koa.

Fluid Compute adds optimized concurrency, dynamic scaling, background processing, and failover to supported runtimes. Use it for workloads that spend time waiting on database queries, API calls, and AI requests.

Vercel Functions can serve WebSocket connections (currently in Beta) for realtime applications, chat, collaboration, and AI streaming. Connections remain on the function instance that accepted them, so applications should handle reconnects and store shared state in a durable data store.

Use Container Images (currently in Beta) to run Open Container Initiative (OCI)-compatible images built from a Dockerfile or Containerfile. Vercel Container Registry stores images that you can run with Vercel Functions or use as custom Sandbox images.

With Vercel Services, your project can contain multiple frontends and backends. Route public traffic to each service and use service bindings for private service-to-service communication. This lets a project represent a larger application without combining every component into one build.

In a project, you can run work outside a user request with:

  • Cron Jobs for scheduled function invocations.
  • Vercel Queues for durable messages, delayed delivery, retries, and push or poll consumers.
  • Vercel Workflows for multi-step code that can retry steps, sleep, wait for external events, and resume across crashes and deployments.

Workflows support JavaScript, TypeScript, and Python through the Workflow SDK, and provide managed persistence and dashboard observability.

Combine a project with the AI SDK, AI Gateway, and Chat SDK to build AI applications, chat experiences, and model-powered APIs. AI Gateway provides a unified API for model providers, routing, fallbacks, usage tracking, and spend controls.

Use Vercel Sandbox to run untrusted or agent-generated code in isolated Linux microVMs. Sandboxes support command execution, files, processes, exposed ports, snapshots, persistent environments, remote storage, and custom OCI images through the Vercel Container Registry.

Vercel Agent, eve, Vercel MCP, and Vercel Connect provide additional building blocks for agents that investigate applications, call tools, access external services, and preserve progress across long-running tasks.

With Vercel for Platforms, you can serve many tenants from one project, or give each tenant or generated application an isolated project and deployment. You can create projects programmatically and manage custom domains, subdomains and preview URLs.

Microfrontends lets you split a large application into projects that deploy independently but render as one application. You can keep them in a monorepo or in separate repositories. Vercel routes requests between them.

When you connect a project to Git, pushes and pull requests can create deployments automatically. A project can also be deployed without a Git connection using Vercel CLI, Vercel Drop, the Vercel REST API, or Deploy Hooks.

Each deployment receives a URL and belongs to an environment, such as production, preview, or a custom environment. You can inspect deployments, share previews, promote a deployment to production, use Rolling Releases, or restore a previous version with Instant Rollback.

When using a monorepo, you can connect multiple projects to one repository and assign each project its own root directory and build settings. Use Turborepo and Remote Caching to coordinate builds across the repository.

Project settings control the framework, root directory, install command, build command, output directory, Node.js version, function runtime and region, and deployment behavior. You can manage these settings in the dashboard or define them in vercel.json, vercel.ts, or vercel.toml.

Use Environment Variables for configuration and secrets across development, preview, production, and custom environments. Connect a project to Vercel Blob, Global Config, or databases and other services through the Vercel Marketplace. Marketplace resources can provide connection details to the project as environment variables.

Assign custom domains and configure DNS, SSL, redirects, rewrites, headers, and caching for a project. Protect deployments with Deployment Protection, and protect application traffic with the Vercel Firewall, Web Application Firewall (WAF) rules, rate limiting, bot management, and DDoS mitigation.

Project dashboards include runtime logs, Observability, Web Analytics, Speed Insights, deployment diagnostics, and usage data. You can forward logs, traces, analytics, and other events to external systems with Drains.

You can view all projects in your team's Vercel dashboard. Selecting a project opens its project dashboard, where you can inspect deployments and configure its settings. Projects also support avatars, team permissions, project-level roles, and integrations.

For instructions on creating, pausing, resuming, and deleting projects, see Managing projects. For the complete list of project settings, see Project Settings.

To learn more about limits on the number of projects you can have, see Limits.

Last updated September 17, 2026

Was this helpful?

supported.