Operations and support staff are building their own tools with coding agents. The question for the engineering team is where those apps run and what reviews them. Here is a setup on plain AWS and one with Encore.
The operations lead who built a refund queue with Claude Code over a weekend is not going to file a ticket to get it hosted. If the engineering team has no supported path, the app ends up on a personal account or a laptop, with a copy of customer data next to it.
This is the shadow IT problem the UK NCSC describes, with a faster build step, and a sanctioned way to ship is the more realistic control.
This guide describes that path on plain AWS and with Encore.
Start with a dedicated AWS account for internal apps, so a mistake cannot reach production data directly. AWS's guidance on organizing your AWS environment treats accounts as the main isolation boundary for this reason. Put the apps in a repository with protected branches that require an engineer's review before merge, and have CI deploy with a role assumed through OIDC.
The gap is in infrastructure, because a non-engineer's agent will add a database or a queue by writing infrastructure code, and the reviewer has to read IAM policies and security groups written by a model for someone who cannot judge them. A generated policy that grants * on a resource type looks fine at a glance and is the kind of detail that slips through.
Encore combines an open source SDK for TypeScript and Go with a platform that provisions and deploys what the code declares into your own AWS account, under rules the engineering team sets. The builder's agent writes services with the SDK, and infrastructure shows up in the code as declarations such as new SQLDatabase("refunds", ...) rather than as IAM and networking. That keeps the review about what the app needs, while Encore generates the AWS setup with private subnets and per-service roles.
The workflow for a non-engineer looks like this:
encore run locally, which starts Postgres and the app, and iterate with the agent until it works. Rules from encore llm-rules init keep the agent on Encore's conventions, as described in the AI integration docs.Access is set with roles. The builder can be a Member who deploys through branches, while Admins keep cloud connections and approvals. Cloud access sits with Encore's IAM role, not the agent, which makes it more reasonable to let people outside engineering ship.
Encore covers the backend and the deploy. A non-engineer still needs a frontend, which can be served from the app with api.static. Review is still required, since Encore makes infrastructure changes visible and approvable but someone has to read the code.
Run in your terminal to get started locally.
Give them a path where they never hold cloud credentials and every change is reviewed. With Encore, they push to a branch, a pull request gets a preview environment, an engineer reviews and merges, and Encore deploys to your AWS account. An Admin can require manual approval for new infrastructure in production.
Encore has Admin, Member and Viewer roles. Members can contribute and deploy, while Viewers can view the dashboard and run the app locally. Custom roles are an add-on to the Encore Pro plan.
Usually not. A separate AWS account for internal apps limits what any one app can reach, and you can connect that account to Encore as its own environment.
Deploy to your cloud on AWS and Google Cloud
without managing infrastructure
Encore lets developers and agents define application infrastructure directly in code, then automatically provisions it from local development to production in your AWS or GCP account.