The easiest way to build and deploy

full stack React applications.

The easiest way to build and deploy full stack React applications.

Get Started
Zero Infra Code
monolayer provisions and configures infra with best practice defaults.
One-Step Deploys
From git push to running in AWS, no YAML, no Terraform, no IaC.
Own Your Infrastructure
Everything runs in your AWS account, under your control
Databases
PostgreSQL and Redis.
Background Tasks
Offload tasks from the main web request cycle.
Cron Jobs
Define cron jobs as code.
Object Storage
Store and serve files with global durability. Backed by Amazon S3.
Real-time Subscriptions
Build live dashboards, feeds, and UI updates.
Web Console
Dashboard for deployments, logs, and environments.
Global Edge Delivery
CDN configured out of the box for fast frontends.
Preview Environments
Every branch gets an isolated preview environment.
Cost Transparency
Pay AWS directly — no hidden markup.
Reduce Devops to Zero
Write app logic, not infrastructure scripts. Your code defines your app, and monolayer turns it into production-ready environments.
Go from local dev to live in minutes.
monolayer automates the infra so you can focus on your app.
Skip managing YAML, CloudFormation, Pulumi, and other infrastructure tools. Everything stays consistent by design.
Deploy to Your AWS Account
monolayer provisions everything directly in your AWS account. The monolayer backend and web console also run in your AWS account. You keep full control over data, compliance, and costs, without vendor lock-in.
Every branch and pull request gets its own isolated, production-like environment. No more "works on my machine" surprises. Validate features in realistic conditions before merging.
All infrastructure lives in your AWS account, under your control.
Workloads aren't co-located with other tenants — they're yours alone.
Develop your app
With the monolayer SDK, databases, background tasks, cron jobs, object storage, and real-time channels are defined directly in your code. No YAML, no ClickOps, no separate infra repo — just code that runs.
const pgDb = new PostgresDatabase("app-db");const credentials = process.env[pgDb.connectionStringEnvVar];const redis = new Redis("counters")const redisCredentials = process.env[envVarName];const documents = new Bucket("documents");const result = paginateListObjectsV2(  { client: s3Client },	 { Bucket: documents.name });
Stateful workloads for your application
  • PostgreSQL
  • MySQL
    Coming soon
  • Redis
  • S3 Buckets
Stateful workloads for your application
  • PostgreSQL
  • MySQL
    Coming soon
  • Redis
  • S3 Buckets
const pgDb = new PostgresDatabase("app-db");const credentials = process.env[pgDb.connectionStringEnvVar];const redis = new Redis("counters")const redisCredentials = process.env[envVarName];const documents = new Bucket("documents");const result = paginateListObjectsV2(  { client: s3Client },	 { Bucket: documents.name });
Run jobs on-demand
  • Type-safe API
  • Runs in Lambda functions
  • Backed by SQS and DynamoDB
interface ProcessImage { text: string;}const processImage = new Task<ProcessImage>("img-processor",  async ({ data }) => {    // your business logic here.  });await processImages.performLater({ text: "hello });
Run jobs on-demand
  • Type-safe API
  • Runs in Lambda functions
  • Backed by SQS and DynamoDB
interface ProcessImage { text: string;}const processImage = new Task<ProcessImage>("img-processor",  async ({ data }) => {    // your business logic here.  });await processImages.performLater({ text: "hello });
const broadcast = new Broadcast({  channels: {    "/rooms/[id]": {      data: new ChannelData<{text: string}>(),    },  },});type Channels = typeof broadcast._channelDataType;await new BroadcastPublisher<Channels>().publishTo(  "/rooms",  { id: "some-id" },  [{ text: "hello" }],);const { useSubscription } = broadcastClient<Channels>();const subscription = useSubscription("/messages",  { id: "some-id" });
Add real-time messaging with zero config.
  • Type-safe API
  • Public channels
  • Private channels
    Coming soon
  • Serverless WebSockets
Add real-time messaging with zero config.
  • Type-safe API
  • Public channels
  • Private channels
    Coming soon
  • Serverless WebSockets
const broadcast = new Broadcast({  channels: {    "/rooms/[id]": {      data: new ChannelData<{text: string}>(),    },  },});type Channels = typeof broadcast._channelDataType;await new BroadcastPublisher<Channels>().publishTo(  "/rooms",  { id: "some-id" },  [{ text: "hello" }],);const { useSubscription } = broadcastClient<Channels>();const subscription = useSubscription("/messages",  { id: "some-id" });
Run jobs on a schedule
  • Runs in ECS
  • Backed by EventBridge
const dailyReport = new Cron("daily-report", {  schedule: "* * * * *",  run: async () => {	  // your business logic.	},});
Run jobs on a schedule
  • Runs in ECS
  • Backed by EventBridge
const dailyReport = new Cron("daily-report", {  schedule: "* * * * *",  run: async () => {	  // your business logic.	},});
  • Next.js
  • React Router
    Coming soon
  • TanStack Start
    Coming soon
Preview Environments
Every branch and pull request gets its own isolated, production-like environment. No more "works on my machine" surprises. Validate features in realistic conditions before merging.
Every branch and pull request gets its own isolated, production-like environment. No more 'works on my machine' surprises. Validate features in realistic conditions before merging.
Environments are created when branches open and removed after merge, so nothing lingers or costs extra.
Test features against real infrastructure, catching issues before they hit production.

Simple Pricing

We don't gate by features. Choose the option that works best for you.
All plans get full access to everything
Zero Infra Code
Object Storage
One-Step Deploys
Web Console
Global Edge Delivery
Secure by Default
Own Your Infrastructure
Cron Jobs
Databases
Background Tasks
Real-time subscriptions
Zero Ops Infrastructure
Preview Environments
Native AWS Services
AWS Reliability
Cost Transparency
Type-safe SDK
Zero Infra Code
Object Storage
One-Step Deploys
Web Console
Global Edge Delivery
Secure by Default
Own Your Infrastructure
Cron Jobs
Databases
Background Tasks
Real-time subscriptions
Preview Environments
Native AWS Services
AWS Reliability
Cost Transparency
Type-safe SDK
Zero Infra Code
Object Storage
One-Step Deploys
Web Console
Global Edge Delivery
Secure by Default
Own Your Infrastructure
Cron Jobs
Databases
Background Tasks
Real-time subscriptions
Zero Ops Infrastructure
Preview Environments
Native AWS Services
AWS Reliability
Cost Transparency
Type-safe SDK
Developer
1 user
1 project
Extras
Additional User: $10
coming soon
Additional Project: $5
coming soon
Team
3 users
5 projects
Coming soon
Priority Support
Extras
Additional User: $10
coming soon
Additional Project: $5
coming soon
Enterprise
Priority Support
Plaform Customizations
FAQs
Your questions answered
Can't find what you're looking for?
Contact us
Can't find what you're looking for?
Contact us