v2.4 — Edge evaluation is hereShip behind flags,
Ship behind flags,
not deploys.
Shoal gives TypeScript teams typed feature flags, gradual rollouts and remote config — evaluated locally in microseconds.
TSX
import { useFlag } from "@shoal/react";
export function Checkout() {
const compact = useFlag("checkout-compact");
return compact ? <CompactCheckout /> : <Checkout />;
}TypeScript
import { createClient } from "@shoal/sdk";
const shoal = createClient({ key: process.env.SHOAL_KEY! });
const on = await shoal.isOn("new-checkout", {
user: { id: "u_42", plan: "pro", country: "KR" },
});Terminal
curl -X POST https://edge.shoal.dev/v2/evaluate \
-H "Authorization: Bearer $SHOAL_KEY" \
-d '{ "context": { "user": { "id": "u_42" } } }'- p50 evaluation
- 0.04 ms
- p50 evaluation
- SDK, gzipped
- 4.1 kB
- SDK, gzipped
- edge regions
- 30+
- edge regions
- API uptime
- 99.99%
- API uptime
Why teams switch
Everything you need to release with confidence.
Typed flags
Generated TypeScript types turn a misspelled flag into a compile error.
Local evaluation
Rules are evaluated in-process in microseconds — no request per check.
Edge-ready
Node, Bun, Deno, browsers and every edge runtime. Zero dependencies.
Gradual rollouts
Ramp from 1% to 100% on a schedule, with automatic rollback guards.
Environments
Separate state per stage, protected production and one-click promotion.
Audit log
Who changed what and why — every change is reviewable and revertible.
Docs
Docs that answer before you ask.
Guides for every framework, a complete API reference and a changelog for every release. Press ⌘K anywhere to search.
Your next release can be boring.
Free for up to 5 seats and 1M evaluations a month.