Claude, and the jobs it actually wins

Technology

Claude follows instructions. That sounds small until you have shipped on models that don't. It is why what we prove in a two week prototype survives into production instead of getting rebuilt.

We run Claude on AWS Bedrock and through the Vercel AI Gateway: in voice agents, evaluation pipelines, and grounded assistants. We also run Gemini and GPT where they win. This page is about the jobs Claude wins, and the ones it doesn't.

Monogram logo

How we build

Prototype to production, without the rebuild

The grain

Working with the model, not against it

  1. Don't let the model decide who it is

    Our adversarial eval caught our own assistant volunteering that it was Claude. Nothing in the prompt told it to. Identity, scope, and refusal have to be explicit rules, because trained behavior varies by model and by version. We made ours explicit and reran the suite: 24 cases across eight categories, 24 of 24 blocked or safely answered.

  2. Don't let the model own its citations

    Sources are assembled server side from the chunks actually retrieved, and the grounding block is signed so injected context gets stripped. A model that names its sources is doing a writing task. A system that names its sources is doing an accounting task.

  3. Don't fix retrieval by adding context

    Our source recall went from 68 percent to 88 percent through chunking and ranking work, and sits in the high eighties to low nineties with a cross encoder reranker on top. None of it came from a bigger prompt. The bug that looked like missing data turned out to be ranking.

  4. Don't let the model grade itself

    Our evals are judged by a model from a different family than the one under test. Self grading tells you a model is consistent with itself, which is not the same as correct, and it hides exactly the failures you are looking for.

  5. Don't use judgment where a rule will do

    Bright line checks stay deterministic: never emit an external URL, never echo the instruction text. The judge is reserved for what a string match genuinely cannot decide, like whether an answer affirms a relationship or denies it.

  6. Give it fewer tools

    We disabled the default shell, filesystem, and web fetch tools on our public assistant, and expose only what the job needs through MCP. Capability you do not need is attack surface you did not budget for.

In production

What we build with Claude

Claude projects

Built on Claude

Writing

How we think about this

Claude is not the answer to every question. We run a nine agent Gemini pipeline serving 800 to 1,000 daily users. We fine tune open source models and run them on client GPUs when data sovereignty rules out a hosted API. Our own site assistant falls back across three vendors, and its evals are graded by a model from a different family than the one under test.

What Claude gets is the work where instruction following is the product. The evaluator that has to apply someone else's rubric the same way every time. The voice agent that has to stay inside a transaction. The assistant that has to refuse.

Three of our engineers hold the Claude Certified Architect credential from Anthropic, covering the Claude API, the Agent SDK, Claude Code, and MCP.

Two weeks to a build plan. Six to ten weeks to a production agent. Start a conversation.