Zero-Overhead Local SDK
Use SveltyCMS as a library inside your SvelteKit process. Zero HTTP, zero serialisation, microsecond latency.
0.002ms
Cached read latency · 533,665 RPS
As Simple as a Function Call
// +page.server.ts — no HTTP, no fetch, no network
export const load = async ({ locals }) => {
const posts = await locals.cms.find('posts', {
where: { status: 'published' },
limit: 10
});
return { posts };
};
// Avg: 0.002ms (L1 cache hit) vs 0.603ms HTTPThe Latency Gap
Every millisecond saved on an internal query compounds across thousands of page renders. The Local SDK eliminates the HTTP stack entirely.
| Access Layer | Avg Latency | RPS |
|---|---|---|
| Local SDK (In-Process) | 0.002 ms | 533,665 |
| REST Dispatcher | 0.034 ms | 29,241 |
| HTTP Warm | 0.603 ms | 1,658 |
| Payload Local API (est.) | ~1 ms | ~1,000 |
| Strapi (HTTP required) | 2–5 ms | ~300 |
In-Process Queries
locals.cms is injected into SvelteKit's event.locals by middleware. No HTTP client, no fetch, no network stack — just a direct function call.
Full Type Safety
The SDK is fully typed end-to-end from database schema to your +page.server.ts. TypeScript catches mismatches at build time, not in production.
ACID Transactions
Use the same unified transaction API across all 4 database adapters. Commit, rollback, and batch — all in-process.
System Context
Pass system: true to bypass row-level permissions for background services and migrations — with full audit trail intact.
How We Compare
Payload CMS
Payload has a Local API — but it is deeply entangled with Next.js and React, adding baseline overhead. ~1ms per call.
Strapi
Strapi requires HTTP for all internal access. No in-process API. 2–5ms minimum per call.
Directus
Directus has no native in-process SDK. All access is via HTTP. 3–8ms minimum.
SveltyCMS
SveltyCMS: 0.002ms cached reads via the Local SDK. Orders of magnitude faster than any competitor.