encore
The infrastructure platform for the intelligence era
Encore is an open-source framework for building multi-service backends in TypeScript or Go where you declare databases, queues, and APIs directly in code and Encore handles local setup and cloud deployment automatically.
Encore is an open-source framework for building backend applications that need to run as multiple services, talk to databases, and send messages between components. It supports both TypeScript and Go. The core idea is that you describe what your app needs (a database, a scheduled job, a message queue) directly in your code as typed objects, and Encore figures out how to set all of that up for you, whether on your laptop or in the cloud.
When you run your app locally, Encore's command-line tool boots up all the required pieces automatically, including a local database and message broker, with no Docker Compose file required. It also opens a browser dashboard where you can browse your service structure, trace individual requests end to end, explore your database tables, and call your API endpoints manually. This is meant to cut down on the setup friction that normally slows down backend work.
When you are ready to deploy, Encore offers a few options. You can use Encore Cloud, which connects to your own AWS or GCP account and provisions everything your app needs there, including databases, compute, and storage, without writing Terraform or YAML config files. Alternatively, you can export your app as a Docker image and run it anywhere you like, supplying your own infrastructure configuration.
For teams already running existing systems, Encore is designed to be added one service at a time. You can write new services with Encore and have them talk to the rest of your existing system via normal API calls, then gradually bring more services over as it makes sense. It also offers a Terraform provider for cases where you want Encore-managed resources to sit alongside infrastructure you already control.
The project is aimed at backend developers who want to spend less time on infrastructure plumbing and more time writing application logic. It does not replace your cloud provider; it works on top of AWS or GCP in your own account, so you keep full ownership of the resources.
Where it fits
- Build a multi-service backend where databases and message queues spin up automatically just by declaring them in your Go or TypeScript code.
- Deploy a backend to your own AWS or GCP account without writing Terraform or YAML config files.
- Add a new Encore service to an existing backend system one at a time and have it talk to your current services via normal API calls.
- Export your Encore app as a Docker image and run it on any infrastructure you already control.