Get Started

Comparison

How OKE compares to Hono, Elysia, Encore.ts, and iii — and when to pick it.

OKE is the batteries-included TypeScript backend for the Bun era: contract-first APIs with end-to-end type safety, declarative infrastructure primitives, an OpenTelemetry-native Console, secure-by-default auth and ABAC — pure TypeScript, Web-Standards portable, MIT-licensed, self-hostable with zero cloud lock-in.

"Encore's batteries and dashboard, Elysia's speed and DX, Hono's portability — without the Rust lock-in, the cloud gravity, or the source-available license."

When to pick OKE

Choose OKE if you want:

  • One mental model for HTTP, jobs, consumers, and durable work (on(Trigger) → Effects)
  • Batteries included — store, signals, clock, gates, vault, channels, and AI as first-class elements
  • A local Console derived from your code (not a separate SaaS product you must adopt)
  • MIT + self-host with drivers named after protocols (postgres, redis, s3), not vendors
  • Effects that power cache invalidation, live queries, and least privilege without hand annotations

Prefer a thinner router (Hono / Elysia alone) if you only need HTTP and will assemble queues, cron, and auth yourself.

Matrix

HonoElysiaEncore.tsiiiOKE
Primary runtimeMulti (Web Std)Bun-firstNode + Rust coreRust engine, polyglotBun-first, Web-Std portable
LicenseMITMITMPL-2.0ELv2 engineMIT
Typed clienthc RPCEden TreatygeneratedSDKcontract-first + live queries
DB · queue · cron · storage✅ (7 elements)
Durable workflowspartial✅ (a flag)
Local Console✅ (dev + prod)
Auto cache invalidation✅ (from effects)
Least-privilege by compiler
Human channels (email/SMS/WA)✅ (7th element)
AI in the application (models, prompts, agents)✅ (8th element)
Self-host, no lock-in✅ (Cloud optional)⚠️✅ first-class

vs Collections of libraries

Frameworks that ship a router plus a queue library plus a cron library plus websockets share one flaw: the concepts do not derive from one another. Documentation sprawls; each new fashion adds a concept that never gets removed.

OKE starts from one law so docs, traces, hooks, and agent surfaces stay one shape.

vs Cloud-gravity platforms

OKE is MIT, self-hostable, and names drivers after protocols — not vendors. Vendor choice lives in images keyed by role. There is no separate “deploy to our cloud” product you must adopt to get the Console.

vs Rolling your own effect system

Effects are inferred from what a Flow touches through fx. Cache invalidation, live queries, least privilege, deterministic tests, and Manifest Diff fall out of that one decision — without hand-written annotations for each capability.

On this page