.do

Platform.do - Business-as-Code Infrastructure

Complete digital business infrastructure - from legal entity to profitable enterprise - all as code

Platform.do

The .do platform provides everything you need to build a digital business as code - from legal entity formation to profitable enterprise operations. Every business resource you need is available through semantic APIs, enabling fully autonomous business operations.

What is Business-as-Code?

Business-as-Code means treating every aspect of a business - from legal entities to phone numbers, from bank accounts to contracts - as programmable resources accessible through APIs. Instead of manual processes for business setup and operations, everything is automated and code-driven.

// Create a complete business in minutes, not months
const business = await $.Business.Entity.create({
  name: 'Acme Corp',
  type: 'LLC',
  state: 'Delaware',
})

// Automatically provision all business infrastructure
await $.Business.domain.register('acme.com')
await $.Business.phone.provision({ type: 'voice', number: '+1-555-ACME' })
await $.Business.address.set({ type: 'registered', provider: 'firstbase' })
await $.Business.account.open({ provider: 'stripe', type: 'treasury' })

// Deploy your first product
await $.Business.deploy.app({
  name: 'acme-app',
  domain: 'app.acme.com',
  github: 'acme-corp/app',
})

// Start accepting payments
await $.Business.accept.payment({
  amount: 9900,
  currency: 'usd',
  description: 'Pro subscription',
})

Platform Architecture

graph TB subgraph "Business Foundation" Entity[Legal Entity<br/>LLC, C-Corp via Firstbase/Doola] Domain[Domain Names<br/>*.io.mw, *.hq.sb, custom domains] Phone[Phone Numbers<br/>Voice & SMS via VAPI] Address[Physical Address<br/>Mail forwarding] end subgraph "Financial Infrastructure" Connect[Stripe Connect<br/>Platform payments] Treasury[Stripe Treasury<br/>Banking accounts] Issuing[Stripe Issuing<br/>Cards & ACH] Billing[Stripe Billing<br/>Subscriptions & metering] end subgraph "Development & Deployment" GitHub[GitHub<br/>Code, issues, PRs, actions] Workers[Cloudflare Workers<br/>Serverless compute] Storage[R2 + D1 + KV<br/>Data storage] Email[Email<br/>Cloudflare + AWS SES] end subgraph "Enterprise & Compliance" WorkOS[WorkOS<br/>SSO, SCIM, Audit Logs] Contracts[CommonPaper<br/>Legal contracts] Browser[BrowserBase<br/>Browser automation] Messaging[Unified Messaging<br/>Slack, Teams, Discord] end subgraph "Platform Layer" SDK[SDK & CLI<br/>$.Business.* APIs] MCP[MCP Server<br/>AI agent integration] RPC[Workers RPC<br/>Service bindings] Collections[Payload CMS<br/>Resource management] end Entity --> SDK Domain --> SDK Phone --> SDK Address --> SDK Connect --> SDK Treasury --> SDK Issuing --> SDK Billing --> SDK GitHub --> SDK Workers --> SDK Storage --> SDK Email --> SDK WorkOS --> SDK Contracts --> SDK Browser --> SDK Messaging --> SDK SDK --> Collections SDK --> MCP SDK --> RPC style Entity fill:#e3f2fd style Domain fill:#e3f2fd style Phone fill:#e3f2fd style Address fill:#e3f2fd style Connect fill:#fff3e0 style Treasury fill:#fff3e0 style Issuing fill:#fff3e0 style Billing fill:#fff3e0 style GitHub fill:#f3e5f5 style Workers fill:#f3e5f5 style Storage fill:#f3e5f5 style Email fill:#f3e5f5 style WorkOS fill:#e8f5e9 style Contracts fill:#e8f5e9 style Browser fill:#e8f5e9 style Messaging fill:#e8f5e9

Business Resource Categories

Everything needed to establish and maintain a legal business entity:

  • Entity Formation - LLC, C-Corp formation via Firstbase.io / Doola
  • Registered Agent - Registered agent services and compliance
  • Business Address - Physical address, mail forwarding
  • Contracts - Standardized contracts via CommonPaper
  • Notarization - Power of attorney, document notarization

Financial Infrastructure

Complete financial management through Stripe ecosystem:

  • Payment Processing - Accept payments, checkout, subscriptions
  • Banking - Treasury accounts, ACH, wire transfers
  • Card Issuing - Virtual and physical cards for expenses
  • Subscription Billing - Usage-based metering, recurring revenue
  • Financial Reporting - Complete income/expense tracking
  • Tax Automation - Automated tax calculation and filing

Digital Assets & Infrastructure

Domain names, phone numbers, and digital presence:

  • Domain Names - Registration, management, DNS via Dynadot/Spaceship
  • Subdomains - Instant provisioning on *.io.mw, *.hq.sb, *.app.net.ai
  • Phone Numbers - Voice and SMS via VAPI
  • Email - Inbound (Cloudflare) and outbound (AWS SES)
  • Websites - Cloudflare Workers Static Assets deployment

Development & Code

GitHub-first development with everything stored as code:

  • Repositories - GitHub repos as business projects
  • Issues & Projects - Issue tracking and project management
  • Pull Requests - Code review and approval workflows
  • GitHub Actions - CI/CD automation
  • Gists - Early-stage idea capture

Deployment & Hosting

Cloudflare Workers platform for all compute and storage:

  • Workers - Serverless compute at the edge
  • Static Assets - Static site deployment (replaces Pages)
  • Custom Domains - Automatic SSL, custom domain routing
  • Storage - R2 (object), D1 (SQL), KV (key-value)
  • Durable Objects - Stateful serverless per business
  • Email Workers - Inbound email processing

Communication

Unified communication across email, phone, and messaging:

  • Email - Transactional and marketing email
  • Voice Calls - AI voice agents, IVR, call routing
  • SMS/MMS - Text messaging and media messages
  • Team Messaging - Slack, Teams, Discord integration
  • Video Calls - Video conferencing integration

Enterprise Features

Enterprise-grade authentication, authorization, and compliance:

  • SSO - Single sign-on with 20+ identity providers via WorkOS
  • Directory Sync - SCIM provisioning from enterprise IdPs
  • Multi-Tenancy - Organization isolation and management
  • Audit Logs - SOC 2/GDPR compliant event logging
  • Admin Portal - Self-service enterprise configuration
  • Authorization - Fine-grained permissions with FGA

AI & Automation

AI agents and browser automation for autonomous operations:

  • Functions - Code, Generative, Agentic, and Human functions
  • Workflows - Complex business process orchestration
  • Browser Automation - BrowserBase for agent-driven browsing
  • AI Agents - Autonomous agents with Claude, GPT, Gemini
  • Voice Agents - AI-powered phone conversations

Unified Resource Model

All platform resources follow semantic triple patterns: $.Subject.predicate.Object

Business Resources

// Entity & Legal
$.Business.Entity.create({ type: 'LLC', state: 'Delaware', name: 'Acme Corp' })
$.Business.Entity.status(id)
$.Business.address.set(id, {
  type: 'registered',
  provider: 'firstbase',
  address: '123 Main St',
  city: 'Wilmington',
  state: 'DE',
  zip: '19801'
})
$.Business.contract.create({
  template: 'nda',
  parties: ['Company A', 'Company B'],
  effectiveDate: '2025-01-01'
})
$.Legal.notarize.document({
  type: 'power-of-attorney',
  principal: 'John Doe',
  agent: 'Jane Smith',
  powers: ['financial', 'legal']
})

// Financial
$.Business.account.open({ provider: 'stripe', type: 'treasury' })
$.Business.accept.payment({ amount, currency, customer })
$.Business.create.subscription({ customer, plan, interval })
$.Business.cards.issue({ type: 'virtual', limit })
$.Business.banking.send.payment({ amount, destination })

// Digital Assets
$.Business.domain.register('acme.com')
$.Business.domain.verify('acme.com')
$.Business.phone.provision({ type: 'voice', number })
$.Business.phone.send.sms({ to, message })
$.Business.email.send({ to, subject, body })

// Development
$.Code.repository.create({ name, visibility })
$.Code.issue.create({ title, body, labels })
$.Code.pullRequest.create({ title, head, base })
$.Code.action.trigger({ workflow, inputs })

// Deployment
$.Worker.deploy({ name, script, bindings })
$.Domain.add({ hostname, target })
$.Storage.upload({ key, value, bucket })
$.Email.route({ pattern, destination })

// Communication
$.Communication.email.send({ to, template, data })
$.Communication.voice.call({ to, assistant })
$.Communication.sms.send({ to, body })
$.Communication.slack.message({ channel, text })

// Enterprise
$.User.create({ email, name, organizationId })
$.Organization.create({ name, domain })
$.Auth.sso.initiate({ provider, organizationId })
$.Audit.log({ event, actor, resource })
$.Authz.check({ user, action, resource })

// Automation
$.Agent.create({ name, goal, capabilities })
$.Browser.session.create({ url, actions })
$.Workflow.start({ definition, inputs })

How It Works

1. Start with a Business Entity

// Form a legal entity
try {
  const entity = await $.Business.Entity.create({
    name: 'Acme Corp',
    type: 'LLC',
    state: 'Delaware',
    owners: [{ name: 'John Doe', ownership: 100 }],
  })

  // Track formation status
  on($.Business.Entity.updated, async ({ entity }) => {
    if (entity.status === 'active') {
      // Entity is formed, set up infrastructure
      try {
        await setupBusinessInfrastructure(entity)
      } catch (error) {
        console.error('Failed to set up infrastructure:', error)
        // Handle infrastructure setup failure
      }
    }
  })
} catch (error) {
  console.error('Failed to create entity:', error)
  // Handle entity creation failure
}

2. Provision Digital Infrastructure

async function setupBusinessInfrastructure(entity: Entity) {
  try {
    // Register domain
    const domain = await $.Business.domain.register(`${entity.slug}.com`)

    // Get phone number
    const phone = await $.Business.phone.provision({
      type: 'voice',
      areaCode: '415',
    })

    // Set up email
    await $.Business.email.configure({
      domain: domain.name,
      provider: 'cloudflare',
    })

    // Open bank account
    const account = await $.Business.account.open({
      provider: 'stripe',
      type: 'treasury',
      businessId: entity.id,
    })

    // Issue company card
    const card = await $.Business.cards.issue({
      type: 'virtual',
      limit: 500000, // $5,000 limit
      purpose: 'general-expenses',
    })

    return { domain, phone, account, card }
  } catch (error) {
    console.error('Infrastructure setup failed:', error)
    throw new Error(`Failed to provision business infrastructure: ${error.message}`)
  }
}

3. Deploy Your Product

try {
  // Create GitHub repository
  const repo = await $.Code.repository.create({
    name: 'acme-app',
    visibility: 'private',
    autoInit: true,
  })

  // Set up CI/CD
  await $.Code.action.create({
    repository: repo.id,
    workflow: 'deploy',
    triggers: ['push'],
    steps: [
      { run: 'pnpm install' },
      { run: 'pnpm build' },
      { run: 'pnpm test' },
      { deploy: 'production' },
    ],
  })

  // Deploy to Cloudflare Workers
  const worker = await $.Worker.deploy({
    name: 'acme-app',
    script: './dist/index.js',
    bindings: {
      DB: 'acme-db',
      API: 'acme-api',
    },
  })

  // Add custom domain
  await $.Domain.add({
    hostname: 'app.acme.com',
    target: worker.id,
  })

  console.log(`Successfully deployed to https://app.acme.com`)
} catch (error) {
  console.error('Deployment failed:', error)
  // Handle deployment failure - rollback if needed
}

4. Start Accepting Revenue

try {
  // Set up products
  const products = await Promise.all([
    $.Business.create.product({
      name: 'Starter',
      price: 2900, // $29/month
      interval: 'month',
    }),
    $.Business.create.product({
      name: 'Pro',
      price: 9900, // $99/month
      interval: 'month',
    }),
  ])

  // Create checkout page
  const checkout = await $.Business.create.checkout({
    products: products.map((p) => p.id),
    successUrl: 'https://app.acme.com/success',
    cancelUrl: 'https://app.acme.com/pricing',
  })

  // Handle successful payments
  on($.Business.payment.succeeded, async ({ payment }) => {
    try {
      // Provision customer access
      await $.User.create({
        email: payment.customer.email,
        plan: payment.product.id,
      })

      // Send welcome email
      await $.Communication.email.send({
        to: payment.customer.email,
        template: 'welcome',
        data: { product: payment.product },
      })
    } catch (error) {
      console.error('Failed to provision customer:', error)
      // Handle provisioning failure - may need to refund
    }
  })
} catch (error) {
  console.error('Failed to set up payment infrastructure:', error)
  throw error
}

5. Enable Enterprise Features

try {
  // Set up SSO for enterprise customers
  await $.Organization.enableSSO({
    organizationId: 'org_enterprise_123',
    provider: 'okta',
    domain: 'enterprise.com',
  })

  // Enable Directory Sync
  await $.Organization.enableDirectorySync({
    organizationId: 'org_enterprise_123',
    provider: 'azure-ad',
  })

  // Configure audit logging
  const apiKey = process.env.DATADOG_API_KEY
  if (!apiKey) {
    throw new Error('DATADOG_API_KEY environment variable is required')
  }

  await $.Audit.configure({
    organizationId: 'org_enterprise_123',
    stream: {
      type: 'datadog',
      apiKey,
    },
  })

  console.log('Enterprise features enabled successfully')
} catch (error) {
  console.error('Failed to enable enterprise features:', error)
  throw error
}

6. Add Autonomous Agents

// Customer success agent
const csAgent = await $.Agent.create({
  name: 'customer-success',
  goal: 'Proactively identify and resolve customer issues',
  capabilities: ['analyze-usage', 'send-email', 'create-task'],
  schedule: '0 9 * * *', // Daily at 9am

  async execute() {
    const customers = await $.User.list({ status: 'active' })

    for (const customer of customers) {
      const health = await analyzeCustomerHealth(customer)

      if (health.score < 70) {
        await $.Communication.email.send({
          to: customer.accountManager,
          subject: `Customer health alert: ${customer.name}`,
          template: 'health-alert',
          data: { customer, health },
        })
      }
    }
  },
})

// Voice support agent
const voiceAgent = await $.Agent.voice.create({
  name: 'support-agent',
  phoneNumber: '+1-555-SUPPORT',
  model: 'claude-sonnet-4.5',
  voice: 'elevenlabs-professional',

  systemPrompt: `You are a helpful support agent for Acme Corp.
    You can help customers with account issues, billing questions,
    and product support. Always be friendly and professional.`,

  tools: [
    'lookup-customer',
    'check-subscription',
    'update-payment-method',
    'create-support-ticket',
  ],
})

Why Platform.do?

For Founders

Launch Faster

  • Form entity in days, not weeks
  • Complete infrastructure provisioned automatically
  • Start accepting payments immediately
  • No legal or financial expertise required

Focus on Product

  • No infrastructure management
  • No payment processing complexity
  • No enterprise feature development
  • Pure focus on customer value

Scale Confidently

  • Enterprise features built-in from day one
  • Financial infrastructure that grows with you
  • Compliance and audit trails automatic
  • Global edge deployment

For Developers

Ship Faster

  • Semantic APIs for everything
  • Type-safe SDKs and CLI
  • Event-driven architecture
  • Comprehensive documentation

Stay Secure

  • SOC 2, GDPR, HIPAA compliant
  • Audit logging built-in
  • Encryption at rest and in transit
  • Regular security audits

Build Intelligently

  • AI agents as first-class primitives
  • Browser automation built-in
  • Voice agents included
  • Autonomous operations enabled

For Enterprises

Deploy Confidently

  • SSO with your IdP
  • SCIM user provisioning
  • Comprehensive audit trails
  • Admin portal for self-service

Reduce Costs

  • No infrastructure team needed
  • No separate auth/billing/compliance vendors
  • Pay only for usage
  • Automatic optimization

Move Fast

  • Self-service configuration
  • Zero-downtime deployments
  • Instant global distribution
  • Real-time observability

Getting Started

1. Install CLI

npm install -g @do/cli

2. Create Business

do init
# Follow prompts to create legal entity and provision infrastructure

3. Deploy First App

do create app my-app
cd my-app
do dev    # Start local development
do deploy # Deploy to production

4. Start Building

import { $, db, on, send } from 'sdk.do'

// Your business logic here
await $.Business.accept.payment({ amount: 9900 })

Learn More

Business Foundation

  • Entity Formation - Form LLC or C-Corp
  • Domain Names - Register and manage domains
  • Phone Numbers - Voice and SMS
  • Financial Infrastructure - Banking and payments

Development

  • GitHub Integration - Code as business foundation
  • Cloudflare Workers - Serverless deployment
  • Functions - Execute code and AI agents
  • Workflows - Orchestrate processes

Enterprise

  • Authentication - SSO with 20+ providers
  • User Provisioning - SCIM sync
  • Compliance - SOC 2, GDPR, HIPAA
  • Multi-Tenancy - Organization isolation

Communication

  • Email - Transactional and marketing
  • Voice - AI voice agents
  • SMS - Text messaging
  • Team Chat - Slack, Teams, Discord

Platform.do makes building a digital business simple. From legal entity to profitable enterprise - all as code.