
00 /infrastructure-for-product-teams
Build it once. Trust it afterwards.
The layer underneath your product, so your team stops rebuilding the same plumbing for every service.
01 /platform
Queues, jobs, and storage in one place.
A single interface over the pieces every backend ends up needing anyway.
| Module | Guarantee | |
|---|---|---|
| Queues | queue.publish() | At least once, ordered per key |
| Jobs | job.schedule() | Retried with backoff, capped |
| Storage | blob.put() | Read after write, same region |
| Secrets | secret.read() | Versioned, rotated on request |
02 /architecture
No hidden magic.
Documented boundaries, predictable failure modes, and a way out at every layer.
- 01.
Boundaries are documented
Every call that can cross a region says so.
- 02.
Failure modes are named
Each one has a published behaviour, not a shrug.
- 03.
There is a way out
Export at every layer, in a format you already read.

03 /reliability
Uptime you can hold us to.
Published incident history, measured latency, and alerts that reach a person on call.

| Target availability | 99.9% monthly, measured at the edge |
|---|---|
| p99 latency | Published per region, updated hourly |
| Incident history | Every incident, with the write-up |
| On call | A person, not a queue, within five minutes |
NOTE
These figures describe a fictional concept product. Nothing here is a service commitment.
04 /quickstart
Four lines to a working queue.
const q = baseplate.queue('emails')
await q.publish({ to: 'a@example.com' })
await q.consume(async (job) => send(job))
05 /demo
Start with your own workload.
Thirty minutes with an engineer who can answer the difficult questions directly.
Concept action / No demo is scheduled
