# My app is slow on the first visit Why, and what to do.

URL: https://antideploy.com/blog/my-app-is-slow-on-the-first-visit

Apps sleep when nobody is using them. The first request after a quiet spell waits for the app to start, and the requests after it are fast.

## At a glance

- **Why**: The app slept while idle
- **How long**: 2.9 to 13.9 seconds, by stack
- **After that**: Requests answer in a fraction of a second
- **No always-on today**: It is on every plan

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

## The short answer

Antideploy puts an app to sleep when nobody is using it, on every plan. The next visit wakes it, and that first request waits for the app to start. It took 2.9 to 13.9 seconds in our measurements, depending on the stack. Requests after that answer in a fraction of a second. A sleeping app costs you nothing, and there is no always-on option today.

## How long it takes

Measured on 19 September 2026, with three sleeping apps for each stack, from India:

- **Static site.** The first request took 2.9 to 5.8 seconds, and the next 0.12 to 0.22.
- **Flask.** 3.1 to 5.5 seconds, then 0.15 to 0.42.
- **Streamlit.** 4.3 to 5.8 seconds, then 0.14 to 0.15.
- **FastAPI.** 5.1 to 9.2 seconds, then 0.14 to 0.25.
- **Express.** 5.4 to 10.0 seconds, then 0.12 to 0.15.
- **Vite single-page app.** 6.3 to 6.6 seconds, then 0.16.
- **Next.js.** 8.6 to 13.9 seconds, then 0.15 to 0.44, and one app took 7.3 seconds.

## Why it sleeps

A sleeping app stops its process, which costs nothing. The next request starts it again. The database sleeps too: an idle database suspends and wakes on the next query, so the first request after a quiet spell is slower than the rest.

## What helps

- A lighter framework starts faster than a heavier one
- Do less work when the app starts: load big data on first use, and avoid long start-up code
- A page that does not need a server, such as a static site, wakes faster than a server app
- Show a loading state in your frontend, so a slow first request does not look broken

## What does not exist yet

There is no always-on option today, and Antideploy does not offer a way to keep an app awake. A scheduled job calls your app on a schedule and wakes it, but it runs at most every five minutes and is meant for work, not for keeping the app warm. If your app must answer instantly at any hour, use a platform that offers always-on instances.

## Here's where it stops.

A platform that only tells you what it is good at is one you find the edges of in production. These are the ones to know before your first deploy.

### Apps sleep when idle

On every plan, an app nobody is using goes to sleep and the next visit wakes it. The first request took 2.9 to 13.9 seconds in our measurements, depending on the stack. There are no always-on workers, so use a cron job or a webhook for background work.

### One instance, no previews

Each app is one instance with 1 shared vCPU and 1 GB of memory, and a Java app gets 1 dedicated vCPU and 2 GB. There are no preview deployments and no per-branch URLs.

## Speed questions, answered.

Anything else? Write to us and a person answers.

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

### Is the slowness a bug?

No. It is how apps work here: an app that nobody is using sleeps, and a sleeping app costs nothing.

### Does the app sleep while people are using it?

No. While requests keep arriving, the app stays awake.

### Do the measurements include the distance?

Yes. They were taken from India, and apps run in Singapore, so each first request includes that trip. A visitor far from Asia would see more.

## 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).

- [What can't Antideploy run?](https://antideploy.com/blog/what-antideploy-cannot-run): The honest list: one region, sleeping apps, no Redis or MongoDB, no background workers, and what is refused.
- [Is Antideploy free? What happens at the limit?](https://antideploy.com/blog/is-antideploy-free): Yes, there is a Free plan. What it includes, what happens at each limit, and what paid plans cost.
- [How to run a scheduled job on your app](https://antideploy.com/blog/how-to-run-a-scheduled-job-on-your-app): Write a route, schedule it. Antideploy calls it on a cron schedule and wakes the app if it sleeps.

- [Hosting](https://antideploy.com/platform/hosting)
- [Logs and monitoring](https://antideploy.com/platform/logs-and-monitoring)
- [Cron jobs](https://antideploy.com/platform/cron-jobs)

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.
```
