Blog

Blog.

Notes from building Huxகn. Architecture decisions, postmortems, and the occasional opinion.

Architecture

Why we route by JSON body, not by header.

OpenAI clients put the model name in the request body. APISIX's router only matches on URI + headers. Here's the plugin we wrote to bridge that gap, and the three architecture iterations it took to get right.

Coming soon
Operations

One million API keys, one fleet Redis.

How the keyauth-map sync went from a 50 MB JSON snapshot every 15 seconds to a delta-with-ETag protocol that idles at a 304 NOT MODIFIED.

Coming soon
Postmortem

The case of the silent 0-item snapshot.

A NULL-handling bug in pgx, layered with a swallowed error in the response stream, layered with a silent agent cursor advance. End result: every key 401'd for two hours. Here's how we found it.

Coming soon
Product

Sovereign mode is the default.

Why we don't have a "private deployment tier". Why every customer gets the same posture. Why pricing isn't per-token.

Coming soon