Back

maxim & bifrost

bifrost

i joined early, before stable v1 and i've stayed on the core team since, shipping across pretty much every layer — provider integrations, the compat plugin, billing, config storage, observability and the test infrastructure. this is what i've mostly worked on:

providers

logs dashboard

litellm → bifrost migration

built the migration tool for teams moving off litellm. it reads litellm's database directly and maps models, virtual keys, users, teams and orgs to their bifrost equivalents.

billing & cost accuracy

config & storage

compat plugin

this is the layer that makes "any client, any provider" actually work. it roughly does this:

observability

testing & infra

wrote a large share of bifrost's test suites: playwright e2e tests for providers, virtual keys, mcp oauth and the mcp registry (and rbac, guardrails and access profiles on enterprise), and azure / bedrock / vertex / batch cases in the provider test harness. also cleaned up the helm values schema and wrote docs for codex, github copilot, openwebui and azure model router.


maxim

maxim is an ai observability and evaluation platform — logging, tracing, evals, test runs, prompt management, and simulations for teams building on LLMs. i have worked across the whole stack — the main platform (next.js monorepo on Nx), and both Python and JS/TS SDKs.

internal bifrost deployment

maintains internal bifrost instance that powers maxim's ai layer. it allows us to do things like:

human & retro evals

external human raters on log repositories, a variable catalog for evaluator suggestions, and the human-eval sheet/table UI (annotation forms, comparison views, xlsx export for human evaluations in test runs).

logging pipeline

consolidated the logging surface into a single logging API, added a LogLine class in the JS SDK for manually pushing logs, and fixed a nasty bug where multiple Maxim SDK instances on the same API key stepped on each other.

added the LogLine apis to collect log lines and push them to the logging apis. this gives client ownership of the log export process.

kept both SDKs in lockstep — prompt id / prompt version passthrough, variable mapping, withLogger/with_logger for logging on prompt runs, streaming fixes for the agno integration (python), and making sure a broken log-repository connection doesn't block logger creation.

prompts, evaluator, simulation apis

built out a big chunk of the public API surface — prompt tools, prompt versions v2, prompt deployment by version number, prompt partials, and model / evaluator management apis. Also shipped variable mapping for SDK test runs and prompt-version fallback logic when creating new versions.

ui work