Introduction
Serverless apps are Crowdin apps 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 and Crowdin Enterprise.
How it fits together
Section titled “How it fits together”A serverless app is made of three parts:
manifest.jsondeclares 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 builds your frontend into a single
dist/app.js(plus assets such as translation catalogs) and manages the app in Crowdin: whiledevruns, Crowdin loads the bundle straight from your machine; afterpublish, Crowdin serves the uploaded bundle itself. - The SDK 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
Section titled “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 instead.
Packages
Section titled “Packages”| Package | Description |
|---|---|
@crowdin/serverless-apps-cli | Create, develop, preview, and publish serverless apps from your terminal |
@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.