# How projects work (https://lazyfrog.dev/docs/how-projects-work)

## A workspace per project [#a-workspace-per-project]

Each project has its own isolated workspace. It's a small Linux machine with the code, its own PostgreSQL databases and its own file storage. Projects can't see each other.

## Two environments [#two-environments]

On Free a project has the preview only. The live site comes with a paid plan, when you [publish](/docs/publishing).

| | Preview | Live site |
|---|---|---|
| Address | `https://p-<id>.lazyfrog.app`, unguessable and not indexed by search engines | `https://<name>.lazyfrog.app`, or [your domain](/docs/domains) |
| What it shows | Your AI's current work, as it happens | The last version you published |
| Database and files | Its own | Its own, and preview data is never copied there |
| Secrets | Its own (test keys) | Its own (live keys) |

## Sleeping and waking [#sleeping-and-waking]

A preview with no visits or AI activity for 15 minutes goes to sleep. So does a live site, unless it's set to always on, which paid plans can do. The next visitor wakes it in a few seconds, with a short "waking up" page while it starts. On Free, once the month's preview hours are used, the preview wakes only for your AI's work, not for visitors. Nothing is lost while it sleeps.

## What is kept [#what-is-kept]

Code, databases, uploaded files, logs and settings all survive sleep, restarts and publishes. [Snapshots](/docs/snapshots) keep earlier states for the plan's undo window, and [export](/docs/import-export) takes everything with you.
