transform.do

Data Transformation at the Edge

Type-safe data transformation at global edge locations. Build ETL/ELT pipelines, validate schemas, and process streams with zero dependencies.

Read the docs
index.tstransform.do
import { Transform } from 'transform.do' // Type-safe data transformationconst pipeline = Transform.pipeline({  steps: [    Transform.map(user => ({ ...user, domain: user.email.split('@')[1] })),    Transform.map(user => ({ ...user, days: daysSince(user.signupDate) })),    Transform.enrich(user => $.Clearbit.query({ domain: user.domain }))  ]}) // Transform and validate automaticallyon.Webhook.received(async $ => {  const data = await pipeline.transform($.data)  $.Database.insert.Order(data)})

One of 48 primitives

transform.do sits in Workflows: triggers, steps and functions. 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