Skip to content
Shoal
Shoal
v2.4 — Edge evaluation is here

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.

Type to search. Results come from a local index — nothing leaves your browser.

↑ ↓ to navigate↵ to openMiniSearch · local