worker.do

Deploy Serverless Functions in 30 Seconds

Zero cold starts, <1ms execution, 300+ global edge locations. Deploy TypeScript workers that scale to millions of requests automatically. Pay only for actual compute time with sub-millisecond precision billing.

Read the docs
index.tsworker.do
import { Worker } from 'worker.do' // Serverless workers with zero cold startsconst worker = Worker({ name: 'api-handler', memory: 128, timeout: 50 }) // Handle requests at 300+ edge locationson.HTTP.Request.received(async $ => {  const user = await $.Database.query.User.byId($.auth.userId)  const data = await $.fetch('https://api.example.com/data', { retry: 3 })  return $.Response.json({ user: user.name, data, edge: $.geo.colo })}) // Schedule background jobsworker.every.hour($ => $.Database.insert.Stats($.Analytics.aggregate())) // React to database changeson.Database.Record.updated($ => worker.cache.invalidate($.record.id))

One of 48 primitives

worker.do sits in Build: ship from code, cli or mcp. Every .do shares one grammar, Business-as-Code, and one SDK.

Business

Goals, plans and the work itself

Workflows

Triggers, steps and functions

Data

Records, vocabulary and search

Insight

Measure, test and trace

Build

Ship from code, CLI or MCP

Frequently asked questions

Build your 1-person unicorn

Write the business. Agents run it around the clock.

Read the docs