TypeScript
A typed client, generated on every deploy. Call lat.fn.orders with a plain object and get typed results back.
Compute
Three steps, the same on day one and on day five hundred. Pick a tab to see each one.

We deployed one checkout function to a single cloud region and to Lattice, then called it from six cities. Demo figures for this template.
| Measure | Single cloud region | Lattice Edge |
|---|---|---|
| Cold start | Single cloud region280 ms | Lattice Edge4 ms |
| p95 from Sydney | Single cloud region410 ms | Lattice Edge38 ms |
| Bill at 50M requests | Single cloud region$412 | Lattice Edge$96 |
Call it
Every function gets a URL in each region and a typed client for your app.
A typed client, generated on every deploy. Call lat.fn.orders with a plain object and get typed results back.
Any shell, any CI job. POST JSON to orders.lattice.run and the closest region answers.
The same client with idiomatic names. lat.fn.orders(sku="A-12") from any worker or notebook.

Node 22, Bun, Python 3.12 and Go 1.23. Pick one per function.
Up to 15 minutes per request, and longer with background tasks.
In the region closest to each request, or pinned to the regions you choose.
Yes. Pin a function and its database to a region group, such as the EU.
Requests move to the next closest region within seconds.
One million requests and 400,000 GB-seconds every month.
Bring your existing handlers. Most move over with no code changes.