> ## Documentation Index
> Fetch the complete documentation index at: https://ship.paralect.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Dev dashboards

> Three local UIs come with a Ship project — a live API reference, a database browser, and an email previewer. No setup, always in sync with your code.

A running full-stack project gives you three local dashboards out of the box. They're the fastest way to poke at your API, your data, and your emails while you build — and because each is generated from your real code, they never drift.

## API reference — Scalar

A full [Scalar](https://scalar.com/) API reference at [http://localhost:3001/docs](http://localhost:3001/docs), served in-process by Hono (non-production only). Every endpoint, its `.input()` / `.output()` schema, and a built-in "Test Request" client — generated from your oRPC contract, so it's always current. The raw OpenAPI 3.1 document is at `/spec.json`.

<img src="https://mintcdn.com/ship/UByoaHTxaOwKkFqs/images/dashboards/scalar-docs.png?fit=max&auto=format&n=UByoaHTxaOwKkFqs&q=85&s=d42569043e97fee0146272a3d7fd9d5c" alt="Scalar API reference" width="2880" height="2200" data-path="images/dashboards/scalar-docs.png" />

## Database browser — Drizzle Studio

[Drizzle Studio](https://orm.drizzle.team/drizzle-studio/overview) at [https://local.drizzle.studio](https://local.drizzle.studio), opened with `pnpm dashboard`. Browse tables, rows and relations, edit data, and run SQL against your local Postgres — backed by the same schema your [migrations](/docs/migrator) build.

<img src="https://mintcdn.com/ship/UByoaHTxaOwKkFqs/images/dashboards/drizzle-studio.png?fit=max&auto=format&n=UByoaHTxaOwKkFqs&q=85&s=0378ee0b7ab95fa975bbd10e8e9ad316" alt="Drizzle Studio" width="2880" height="1920" data-path="images/dashboards/drizzle-studio.png" />

## Email preview — React Email

A live [React Email](https://react.email/) preview at [http://localhost:4000](http://localhost:4000), provided by the [Mailer](/docs/mailer) plugin. Every template re-renders as you edit, so you can design transactional emails without sending a single message.

<img src="https://mintcdn.com/ship/UByoaHTxaOwKkFqs/images/dashboards/mailer-preview.png?fit=max&auto=format&n=UByoaHTxaOwKkFqs&q=85&s=c51b20cd1bf0dd05a98254d275916d4c" alt="React Email preview" width="1440" height="900" data-path="images/dashboards/mailer-preview.png" />

## Where each comes from

| Dashboard            | URL                    | Start it         | Needs                    |
| -------------------- | ---------------------- | ---------------- | ------------------------ |
| Scalar API reference | `localhost:3001/docs`  | `pnpm start`     | `apps/api` (full-stack)  |
| Drizzle Studio       | `local.drizzle.studio` | `pnpm dashboard` | PostgreSQL               |
| React Email preview  | `localhost:4000`       | `pnpm start`     | [Mailer](/docs/mailer) plugin |

`pnpm start` brings up the API (with Scalar) and, when the Mailer plugin is installed, the email preview. `pnpm dashboard` opens Drizzle Studio on demand.

<Note>These dashboards are **dev-only** — Scalar is disabled in production, and Studio/preview are local tools. A web-only project has none of them (it ships just the TanStack Start SPA).</Note>
