burneh
Product

AI features that do the work, and know their limits.

We build LLM features into your product: an assistant that reads your data, calls your tools, and hands off to a person when it should. Grounded, guarded, and inside a budget.

Assistantlive
Summarize account cus_88 and flag any risk.

Pick a prompt. It calls a tool, then answers grounded in the result, with the tokens and cost for the turn on the right.

Limits it can't talk its way past.

An assistant that can act needs limits it can't argue with. Some asks it answers, some it refuses, some it hands to a person. Try them.

Allowedin scope · read-only
Ask: What's my current plan?

You're on the Scale plan at $4,200/mo, renewing Aug 28.

Grounded, not guessed.

Same question, same model. On the left with nothing but its training; on the right with your tools. One hedges, one knows.

Q · What did cus_88 pay last month?
model alone

I don't have access to that account, so I can't say for certain. A Scale plan is often somewhere around $4,000, but that's only a guess.

model + your tools
→ get_invoices("cus_88")

cus_88 paid $93.34 on Aug 4: base $49.00, API overage $42.43, minus a $5.00 credit. Reconciled to 62,431 metered events.

One loop, and it knows when to stop.

The guardrail runs first. The model calls tools until it can answer or the budget is gone, and every tool call is logged and reversible. No runaway, no surprise bill.

assistant.ts
1// one turn: check the ask, let the model call tools in a
2// loop, and stop when it answers or the budget runs out
3export async function run(message, ctx) {
4 if (!guardrails.allow(message, ctx)) {
5 return handoff(message, ctx); // refuse, or send to a person
6 }
7
8 let spent = 0;
9 const messages = [system(ctx), user(message)];
10
11 while (spent < ctx.budget) {
12 const step = await model.next(messages, TOOLS);
13 spent += step.cost;
14
15 if (step.toolCall) {
16 const result = await tools.run(step.toolCall); // logged, reversible
17 messages.push(step, toolResult(result));
18 continue;
19 }
20 return step.text; // a grounded answer
21 }
22 return handoff(message, ctx); // budget hit, hand off
23}

AI you can put in front of customers.

Grounded in your data, bounded by guardrails and a budget, and logged end to end. The useful half of AI without the parts that get you a headline.