# Zero Config Deployments

**Published:** August 7, 2019 | **Authors:** Leo Lamprecht, Andy Schneider, Guillermo Rauch | **Category:** Company News

---

Few weeks ago, we introduced Vercel as the most powerful and scalable platform for **static websites** and **serverless functions** powered by *any language* or *framework.*

This came at the expense of writing `vercel.json` files. Today, we are introducing **Zero Config**, a conventional and completely backwards-compatible approach to deployment.

## Getting Started

To start, create a new project using a **frontend stack of your choice**. For this example, we'll create a vanilla [Next.js](https://nextjs.org/) project:

```bash
npm create next-app
```

Then, from within the project, with no additional configuration, run the following command (requires [Vercel CLI](/download) or our integration for [GitHub](/github)/[GitLab](/gitlab)):

```bash
vercel
```

That's it. **It works for any framework or tool you can think of.**

No matter if you're using [Gatsby](https://github.com/vercel/vercel/tree/master/examples/gatsby), [Vue](https://github.com/vercel/vercel/tree/master/examples/vue), [Ember](https://github.com/vercel/vercel/tree/master/examples/ember), [Svelte](https://github.com/vercel/vercel/tree/master/examples/svelte) or any other `package.json` project with a [build script](https://docs.npmjs.com/misc/scripts), you always get fully static or hybrid rendering out of the box.

## From Frontend to Backend

Upon deployment, we optimize your frontend seamlessly and deploy it to our built-in [Smart CDN](/smart-cdn). Fast to develop, build, and serve.

Now, how about adding the power of **serverless functions** to our site?

Let's use [Gatsby](https://www.gatsbyjs.org/) for the frontend, combined with [Go](https://golang.org/) for the backend. For this, we'll start by creating a new Gatsby project:

```bash
gatsby new gatsby-site
```

This can already be deployed, zero config. To add functions, create an `api` directory:

Then, with no additional configuration, run the following command (requires [Vercel CLI](/download) or our integration for [GitHub](/github)/[GitLab](/gitlab)):

```bash
vercel
```

Your function will now be accessible at `/api/my-function`.

All our [existing languages](/docs/serverless-functions/supported-languages) are supported and mapped by file extension. You can even use `[brackets].js` to define dynamic routes. To learn more, check out [our docs](/docs).

## Summary

Vercel is fast, efficient, scalable, and now even easier to use.

- If you are using **ZEIT Now 1.0 **or a third-party provider, check out our [migration guide](/guides/migrate-to-zeit-now/).
- If you are using Vercel, your projects will continue to work as they are. If you want to go zero-config, check out [this guide](/docs/cli/deploying-from-cli).
- If you are using **Next.js 9 **or newer, our integration supports [API routes](https://nextjs.org/blog/next-9#api-routes), so absolutely nothing new to learn. Just deploy it, no config needed.
- Our [development toolchain](/blog/now-dev) vercel dev just works, zero-config.
- Our integrations for [GitHub](/github) and [GitLab](/gitlab) no longer require a `vercel.json` either. We've added a simple flow to [import your projects from the web UI](/new) to complement it.

*Special thanks to *[*Evil Rabbit,*](https://twitter.com/evilrabbit_)* *[*Paco Coursey*](https://twitter.com/pacocoursey)*, *[*Luc Leray*](https://twitter.com/lucleray)*, *[*Shu Ding*](https://twitter.com/shuding_)*, *[*Matthew Sweeney*](https://twitter.com/msweeneydev)*, *[*Timothy Lorimer*](https://twitter.com/timothyis_)* and *[*Christopher Skillicorn*](https://twitter.com/skllcrn)* for helping with making this release a reality.*

---

**More posts:** [View all blog posts](https://vercel.com/blog/sitemap.md) | [Changelog](https://vercel.com/changelog/sitemap.md)