# Overview

> snoozestack docs: quick start, the runtime, CLI, console, and client SDK reference

[HTML version](https://snoozestack.com/docs/) · [Docs index](https://snoozestack.com/llms.txt)

## Overview

**SnoozeStack** is a complete application platform you run locally, then publish to managed production servers. A **project** is a folder: a committed `snoozestack/` directory declaring its functions, schema, storage, queues, schedules, sites, and auth in one `project.toml`. One service — the [runtime](https://snoozestack.com/docs/runtime.md) — runs that whole declaration: natively on your machine under `snoozestack dev`, and on snoozestack's hosted fleet after `snoozestack publish`. Your organization's admin account owns the projects; each hosted project serves at `https://<project-ref>.snzzz.com`.

You interact with the platform four ways: the [console](https://snoozestack.com/docs/portal-tour.md) (the hosted portal, and the identical local dashboard `snoozestack dev` serves), the [snoozestack CLI](https://snoozestack.com/docs/cli.md), the [snoozestack-js](https://snoozestack.com/docs/sdk-js.md) and [snoozestack-swift](https://snoozestack.com/docs/sdk-swift.md) SDKs inside your app — and your [AI client over MCP](https://snoozestack.com/docs/mcp.md), which can do everything the CLI can.

**Diagram:** Your app · snoozestack-js / HTTP · <ref>.snzzz.com/api · this project's runtime · runtime container · Function · (req, capabilities) · capabilities.db · in-process, no network hop · capabilities.storage · objects + signed URLs · replicated · Durable storage · continuous backup · Auth routes on the same host (/auth/…) are answered by the runtime's identity layer; everything else lands on your functions.

## The mental model

Two shifts orient everything else here. First, **the project is files**: what most platforms keep as dashboard settings — which functions exist, what they may access, the schema, the buckets, the queues, the cron timers — is a committed `project.toml` plus the code next to it, so configuration diffs, reviews, and rolls back like code, and nothing about your backend lives only in a console.

Second, **your functions are the boundary**. Clients never reach the database — there is no client-facing table API to secure. A [committed function](https://snoozestack.com/docs/functions.md) reads and writes it through `capabilities.db`, and decides what the caller may see with an ordinary `where` clause informed by `capabilities.auth.user` — the check a hand-written API handler always made, minus the server to run. See [Permissions](https://snoozestack.com/docs/permissions.md).

| You need to… | Use | Instead of |
| --- | --- | --- |
| Read and write your own data | A [function](https://snoozestack.com/docs/functions.md) with the `db` capability, called with `functions.invoke()` | A client-side query builder talking to a REST API |
| Stop users seeing each other's rows | The function's own query, scoped to `capabilities.auth.user.id` | A row-level security policy applied automatically |
| Change the schema | Edit `schema.mjs` and [publish](https://snoozestack.com/docs/schema.md) | Clicking in a console and hoping you remember |
| Use a secret API key | A declared [secret](https://snoozestack.com/docs/functions.md), readable only by the functions you name | Shipping the key to the client |
| Do slow work after responding | A [queue](https://snoozestack.com/docs/queues.md), declared in project.toml and testable locally | Blocking the request |
| Store a file | [Storage](https://snoozestack.com/docs/storage.md), with the path in a column | A blob column in the database |
| Ship it | `snoozestack preview` to try it in your own copy of the project, `snoozestack publish` to ship it as an immutable [release](https://snoozestack.com/docs/releases.md) | A deploy pipeline you assemble and babysit |
| Let an AI client build and operate the backend | Its own [MCP endpoint](https://snoozestack.com/docs/mcp.md) | Pasting SQL out of a chat window |

## Organizations & projects

Your admin login belongs to one **organization**, which owns every **project** you create — each a complete, isolated backend: one runtime with its own database, storage, queues, and users. See [Organizations & projects](https://snoozestack.com/docs/organizations-projects-sources.md) for the full model.

**Diagram:** Organization · Project: my-app · one runtime · its own data · Project: admin-tool · one runtime · its own data · Project: mobile-app · one runtime · its own data

## Where to go next

- New here? Start with [Quick start](https://snoozestack.com/docs/quickstart.md).
- Want the architecture in one picture? Read [The runtime](https://snoozestack.com/docs/runtime.md).
- Working with an AI client? Connect it to the project's [MCP endpoint](https://snoozestack.com/docs/mcp.md) — it gets these docs and every management operation over one connection.
- Building an app against it? Start with the [JavaScript](https://snoozestack.com/docs/sdk-js.md) or [Swift](https://snoozestack.com/docs/sdk-swift.md) SDK.
- Reading these as an agent? Every page here is also served as markdown — this one at [/docs.md](https://snoozestack.com/docs.md), the rest at `/docs/<page>.md` — indexed at [/llms.txt](https://snoozestack.com/llms.txt), and concatenated at [/llms-full.txt](https://snoozestack.com/llms-full.txt).
