# Is my app a static site, a server or a function?

URL: https://antideploy.com/blog/static-site-server-or-function-which-is-my-app

Three kinds of project deploy in three ways. Here is how to tell which one you have, and what each costs.

## At a glance

- **Static site**: Only files. Free and unlimited
- **Server app**: Code that runs on the server
- **Functions**: Handlers in an api folder
- **The deploy tells you**: It says what it found

Published 7 October 2026. Facts checked 7 October 2026. 3 min read.

## The short answer

A **static site** is only files that a browser can open. A **server app** has code that runs on the server for every request. **Functions** are small handlers, usually in an `api` folder, with no server of their own. Antideploy reads your project and tells you which one it found. Static sites are free and unlimited. Server apps count as live apps.

## How to tell which one you have

- **Static site.** You have an `index.html`, or a frontend such as Vite, Create React App, Astro or Gatsby that has a `build` script and no real `start` script. The build writes a folder of files, such as `dist` or `build`.
- **Server app.** You have a `start` script, a `Procfile`, or a Python, Go, Ruby or Java project that runs its own web server. Express, Fastify, Next.js with API routes, Flask, Django and FastAPI are all server apps.
- **Functions.** You have files like `api/hello.js` that export a handler, and no `start` or `build` script. These were written for hosts that supply the server.

## How Antideploy treats each one

**Static site.** Antideploy runs your build if there is one, then serves the result. It is free on every plan, never counts against your apps or your deploys, and has no database.

**Server app.** It runs as one long-running process, with a database beside it if you need one. It counts as a live app on your plan, and its successful deploys count too.

For functions, Antideploy adds a small server that runs your handlers, so the project works without changes. It tells you it did so.

## Frontends that need a server

A frontend that builds to files is static. If the same project also has its own server, such as an Express app that serves the built files and an API, it is a full server app. A project with a real `start` script keeps that script, so a custom server keeps working.

Some frameworks can do both. SvelteKit builds to files only with its static adapter. Astro builds to files unless it is set to run on a server. In both cases, Antideploy checks which mode you chose.

## What counts against your plan

- A static site never counts as a live app, and its deploys never count toward your monthly deploys
- A server app counts as a live app: 1 on Free, 3 on Go, 9 on Pro and 20 on Scale
- Successful deploys of a server app count toward 10 a month on Free, and are unlimited on paid plans
- Failed deploys are free on every plan

The Free plan needs no card and has no trial clock. It includes unlimited static sites, 1 live app with a server, 10 successful deploys a month and 1 Postgres database. Failed deploys are free on every plan.

## Project-type questions, answered.

Anything else? Write to us and a person answers.

[support@antideploy.com](mailto:support@antideploy.com)

### Is a React app static?

A React app built with Vite or Create React App is static, if it has a `build` script and no real `start` script. The built files are served directly.

### Is Next.js static or a server?

Normally a server app, because it uses `next start` to serve pages and API routes.

### Can a static site have a database?

No. A static site is only files. If you add a database, the project is a server app.

### What if my site starts as static and later needs a server?

Add the server. The project becomes a server app, keeps its address, and can use a database, sign-in and the rest of the platform.

### Do static sites sleep?

Yes, like every app. A site nobody is visiting sleeps, and the next visit wakes it. A sleeping site costs nothing.

## More guides, and the platform.

Each platform page covers one part of Antideploy: what it does, where it stops and the questions people ask. [See the whole platform](https://antideploy.com/platform), or [all the guides](https://antideploy.com/blog).

- [How to deploy a static website for free](https://antideploy.com/blog/how-to-deploy-a-static-website-for-free): Plain HTML or a built frontend. Unlimited, free on every plan, with HTTPS and no card.
- [How to deploy a Vite React app](https://antideploy.com/blog/how-to-deploy-a-vite-react-app): A Vite app deploys as a free static site. The build, the dist folder, routing and variables.
- [What does deploying an app mean?](https://antideploy.com/blog/what-does-deploying-an-app-mean): Deploying, in plain words. The ten words you will meet, and what each one means.

- [Static sites](https://antideploy.com/platform/static-sites)
- [Hosting](https://antideploy.com/platform/hosting)
- [Deployments](https://antideploy.com/platform/deployments)
- [Database](https://antideploy.com/platform/database)

Facts on this page were checked against the live platform on 7 October 2026.

## Deploy something. Start with one sentence.

Paste one sentence into your coding agent, click Approve once, and get a live link. No card, no trial clock.

To set this up, give your coding agent this sentence:

```text
Set this project up to deploy on Antideploy. Fetch https://antideploy.com/agent.md and follow it.
```
