services.do

Orchestrate Microservices Without the Complexity

Built-in service mesh with automatic discovery, intelligent routing, and distributed tracing across all services. Deploy multiple services that communicate seamlessly with <5ms inter-service latency, automatic failover, and coordinated rollouts. Zero Kubernetes, zero configuration, pure TypeScript across 300+ global edge locations.

Read the docs
index.tsservices.do
import { Services } from 'services.do' // Orchestrate microservices with service meshconst platform = Services({  services: {    api: { port: 8080, public: true },    auth: { port: 8081, internal: true },    payments: { port: 8082, internal: true }  },  mesh: { tracing: true, retries: 3, timeout: '5s' }}) // Services communicate automaticallyplatform.api.on.POST('/orders', async $ => {  const user = await $.Auth.verify.Token($.headers.authorization)  const charge = await $.Payments.charge({ amount: $.total, customerId: user.id })  return $.Database.insert.Order({ userId: user.id, chargeId: charge.id })})

One of 48 primitives

services.do sits in Business: goals, plans and the work itself. 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