# Introduction

**Serverless apps** are [Crowdin apps](https://support.crowdin.com/developer/crowdin-apps-about/) without a backend: a static JavaScript bundle that runs right inside the Crowdin UI. Crowdin serves your bundle, injects the user and project context, and performs REST API calls on the current user's behalf - restricted to the scopes your manifest declares. There is nothing for you to host or operate.

Serverless apps work in both [Crowdin](https://crowdin.com/) and [Crowdin Enterprise](https://crowdin.com/enterprise).

## How it fits together

A serverless app is made of three parts:

- **`manifest.json`** declares the app: its name, the UI modules it adds to Crowdin, the API scopes it may use, and where its bundle is served from.
- **The [CLI](/serverless-apps/reference/cli-commands/)** builds your frontend into a single `dist/app.js` (plus assets such as translation catalogs) and manages the app in Crowdin: while `dev` runs, Crowdin loads the bundle straight from your machine; after `publish`, Crowdin serves the uploaded bundle itself.
- **The [SDK](/serverless-apps/building-app/overview/)** runs inside the bundle: it registers your modules, exposes typed context, events, and host actions, and provides a Crowdin REST API client that needs no tokens, a UI kit styled to match Crowdin, and an i18n runtime for translating your app.

## When to build a serverless app

Serverless apps are the fastest way to extend the Crowdin UI: panels in the editor, project tools, dashboards, menus, and other frontend experiences that work with Crowdin data through the REST API.

If your app needs its own backend - webhooks, background jobs, file processing, integrations with external services under your own credentials - build a classic Crowdin app with the [Crowdin Apps SDK](https://crowdin.github.io/app-project-module/) instead.

## Packages

| Package | Description |
|---------|-------------|
| [`@crowdin/serverless-apps-cli`](https://www.npmjs.com/package/@crowdin/serverless-apps-cli) | Create, develop, preview, and publish serverless apps from your terminal |
| [`@crowdin/serverless-apps-sdk`](https://www.npmjs.com/package/@crowdin/serverless-apps-sdk) | Typed runtime SDK: host bridge, React hooks, UI components, i18n, and an in-app Crowdin API client |

Ready to try it? Head over to the [quick start](/serverless-apps/getting-started/quick-start/) - let your AI coding agent build the first app for you, or do it by hand.