Encore.ts
Encore.go

Batteries included TypeScript framework
for building distributed systems

Define services and infrastructure in code using structured patterns.
Encore automates provisioning, wiring, documentation, and observability.

Cursor
src/api.ts
1import { api } from "encore.dev/api";
2
3export const shorten = api(
4 { method: "POST", path: "/url" },
5 async ({ url }: { url: string }) => {
6 const id = crypto.randomUUID().slice(0, 8);
7 await pool.query(
8 "INSERT INTO urls (id, url) VALUES ($1, $2)",
9 [id, url]
10 );
11 return { id, shortUrl: `/url/${id}` };
12 }
13);
14
15export const get = api(
16 { method: "GET", path: "/url/:id" },
17 async ({ id }: { id: string }) => {
18 const result = await pool.query(
19 "SELECT url FROM urls WHERE id = $1",
20 [id]
21 );
22 return { url: result.rows[0]?.url };
23 }
24);
Existing codebase
Terminal
Encore Local Development Dashboard
localhost:9400/url-shortener
Run `encore run` to see architecture
EncoreEncore Cloud

Deploy a test app in minutes

Quickstart

Start locally

Install the CLI and create an app

$ brew install encoredev/tap/encore

Loved by engineering teams who refuse to slow down
See what teams are building with Encore

Groupon
Bookshop.org
Echo
Quiqup
Carla
Pave Bank
Gradient Labs
Vet-AI
Caribou
Harbinger
Dutch
Pallet
Toolzz
Playwire
Reservamos

Define your infrastructure as type-safe objects in code

Declare what your application needs directly in TypeScript, and Encore automatically provisions it across local development, preview environments, and production.

database
PostgreSQL database provisioned & migrated

Automated local infrastructure

Encore automatically provisions all local infrastructure: databases, Pub/Sub, caches, and more.
No Docker Compose. No config files. No manual setup.

Terminal
encore run
Building Encore application graph...Done!
Analyzing service topology...Done!
Creating PostgreSQL database cluster...Done!
Starting PubSub daemon...Done!
Fetching application secrets...Done!
Running database migrations...Done!
Encore development server running!
Your API is running at:http://127.0.0.1:4000
Development Dashboard URL:http://127.0.0.1:9400/my-app
MCP SSE URL:http://127.0.0.1:9900/sse?appID=my-app

Local Infrastructure

No config files, no Docker Compose, no Pub/Sub emulators needed

Hot Reload

Code changes reflected immediately, no restarts needed

Local Dev Dashboard

Explore your app's architecture, APIs, traces, and databases in real-time

9x faster than Express.js

Encore integrates request processing in Rust to give Node.js extreme performance with full ecosystem compatibility.

Benchmark — Requests/sec
Encore.ts
121,005
Elysia
82,617
Hono
71,202
Fastify
62,207
Express
15,707
Multi-threaded request handling and validation in Rust

Built-in developer tools

From your application code, Encore automatically generates documentation and architecture diagrams, and provides distributed tracing out of the box.

Service Catalog

Service Catalog with API explorer and auto-generated docs from your TypeScript types.

Architecture Diagrams

Real-time architecture diagrams showing services, APIs, databases, Pub/Sub topics, and their connections.

Distributed Tracing

Built-in tracing for API calls, database queries, and Pub/Sub messages — no instrumentation needed.

Works with your existing stack

  • Node.js
  • Next.js
  • Remix
  • Astro
  • Vue
  • Svelte
  • Prisma
  • Drizzle
  • Sequelize
  • GitHub
  • Vercel
  • Netlify
  • AWS
  • GCP
  • DigitalOcean
  • Temporal
  • Neon
  • Kubernetes
  • Datadog
  • Grafana

No need for a big rewrite

Start small with new services and unlock immediate benefits, then migrate at your own pace.

Encore is our foundation for all new development. Since adopting it, we've seen a 2–3x increase in development speed and 90% shorter project lead times.

Groupon Logo
Josef Sima
Engineering Director, Groupon

We've run Encore in prod for over 2 years and we've reduced time spent on DevOps by 95%.

Bookshop.org Logo
Mason Stewart
CTO, Bookshop.org

Encore fit the service oriented patterns that we were used to, and let us build a robust backend from day one without worrying about infra, deployments and observability.

Echo Logo
Will
Founder, Echo

Join a growing community of pioneering developers

Encore's open source community is the driving force behind the project — full of friendly developers supporting each other with feedback, bug fixes, and wisdom.

        Get started now

        EncoreEncore CloudRecommended

        Start by deploying an example project

        Get started →
        or

        Start locally

        1. Install Encore
        macOS
        Windows
        Linux
        Brew
        $ brew install encoredev/tap/encore
        2. Create app
        $ encore app create
        3. Run locally
        $ encore run