The goal for this week was simple: get Quonfig to the point where I can hand it to someone on May 1 and say "go try it." That meant capacity I trust, a self-serve path in, and enough sharp edges sanded off that the first impression isn't a stack trace.
What Moved This Week
Config delivery now runs on two hosts. SDKs talk to stream.primary.quonfig.com for live updates and primary.quonfig.com for the initial config fetch. Splitting the long-lived streaming traffic from the short, bursty HTTP traffic means each side scales on its own terms — and a slow stream can't slow down a fetch. The two-URL update is shipped across Node, Go, Python, Ruby, JavaScript, and React.
Load tests held 9,000 concurrent streaming clients without breaking a sweat. The server sat near idle the whole time; we were limited by our own load generator, not by Quonfig. The path to the launch-scale target of 100K concurrent connections is just "run more machines" — there's no architectural surprise hiding in the way.
You can create a workspace from the CLI now. qfg workspace create <slug> spins one up end-to-end — no dashboard, no demo call. This is the piece that turns onboarding from "schedule a meeting" into "here's the command."
qfg migrate from Launch is officially done. A clean import, with sensible handling for deleted environments, duplicate keys across config types, and per-environment overrides. We've put it through real workspaces. If you're moving over from Prefab Launch, the path is supported and documented.
Dev overrides for local development. Set your email once and you can override any flag just for yourself, without touching what your teammates see. Works the same way across the Node, Go, and Ruby SDKs. This is the flow I missed most when developing locally, so I'm glad it's in.
qfg override new-checkout true
Slack integration shipped. Install via OAuth, pick a channel, get notifications on flag and config changes. Disconnecting is one click.
Structured logger integration across every SDK. Winston and Pino in Node, slog in Go, structlog and stdlib in Python, and stdlib Logger in Ruby. Same shape, same ergonomics — if you're already using a structured logger, Quonfig drops in cleanly.
Type-safe codegen verified end-to-end. Both the Node qfg generate --typesafe flow and the React-TS variant got dedicated end-to-end shakeouts against fresh starter apps. The result is a smooth path from qfg generate to typed flags in your editor, with one fewer pre-step than before.
A long tail of polish. Login fails loudly instead of silently when something goes wrong with credentials. Expired tokens get refreshed before the SDK gives up. A handful of small SDK fixes in Ruby and Python from a dedicated code-review pass. The kind of work nobody notices unless it's missing.
That's the week. The May 1 milestone is shaped: launch-scale capacity confirmed, self-serve onboarding working, the Launch migration path complete, local dev that feels good, and a polished SDK matrix. What's left for next week is mostly the welcome path — the first ten minutes of a new user's experience.
If you've been waiting for a reason to try Quonfig, May 1 is it.
-- Jeff
Want to try it?
Quonfig stores your config in git. Feature flags, dynamic config, log levels, and secrets — all as files you own.