Product · Self-improvement

Self-improving agents, with you in the loop.

Roark connects post-call analysis to simulation and drafts the fix in between: prompt diffs, model and voice swaps, tool and infra changes, each grounded in the calls that failed. You review, apply and ship. Roark proves the metric moved.

Start free with $50 in credit, no card needed. Works with Vapi, Retell, LiveKit, Pipecat + your stack.

Scoring production voice AI for teams at

Google
AT&T
BCG
Spectrum
Aircall
Podium
radiantgraph
Google
AT&T
BCG
Spectrum
Aircall
Podium
radiantgraph

01 · The loop, end to end

One failure, all the way around the loop.

Post-call analysis and simulation are the two halves. Self-improvement is what connects them: the same failure followed from the call that exposed it to the deploy that fixed it, every week, on every agent.

01 · Catch

Post-call analysis catches it

A caller asks for a refund and the agent pays out without verifying identity. Post-call analysis scores the call as it lands, flags the compliance miss, and files it as an issue with the 31 other calls that failed the same way. No one had to be listening.

Inside post-call analysis
Live · scoring every call1,284 today

Caller: I was charged twice, I need a refund.

Agent: No problem, I’ve refunded it to your card.

Identity not verified: Refund issued to an unconfirmed caller.Compliance

02 · Simulate

Simulation reproduces it, then tests the candidates

The failing call becomes a scenario. Roark replays candidate fixes against the exact callers that broke the agent: a softer prompt fails, a model swap fails, adding a verify_identity tool with a verify-first prompt wins. You learn what works before production does.

Inside simulation testing
Testing your candidates82 / 240
prompt · soften tonefail
model · gpt-4o → 4.1fail
voice · calmer pacingfail
03 · Review

Roark drafts the fix, you apply it

The winning candidate arrives as an explicit, reviewable change: the prompt edit diffed line by line, the model swap named, the new tool listed. Nothing applies itself. You read it, adjust it if you want, and ship it through your own platform.

See the fixes Roark drafts
Your fix, diffedsupport_v3 v4
PromptModelTool
Issue the refund right away.
+ Verify the caller’s identity, then issue the refund.
04 · Verify

You ship. Roark confirms the metric moved.

From the first minute after your deploy, every call is scored against the same metric that caught the issue. Recurrence, the quality score, and regressions on every other metric are watched until the fix is confirmed on live traffic, not just in staging.

Verifying support_v4 in production126 calls scored
Pronunciation, since your deploy7178
Issue recurrencewatching…
Quality score78 ↑
Regressions on other metricsnone

you ship it, and Roark scores every call from the first minute

…and the loop runs again on the next call.

02 · Drafted fixes

Roark doesn't just file the bug. It drafts the fix.

Prompt diffs, model and voice swaps, tool and infra changes. Every suggestion cites the failing calls it came from and is replayed in simulation before it ever reaches you.

Prompt optimizer

Evidence-grounded prompt edits, diffed line by line against the version that failed, citing the calls that motivated each change.

Model & voice fixes

Reasoning model swaps, TTS changes and phoneme hints for the failures an edited prompt cannot reach.

Tool & infra fixes

Missing tools, streaming settings and latency changes, because sometimes the problem was never the wording.

You stay in control

Nothing applies itself. Every change is explicit, reviewable and yours to accept, adjust or throw away.

Suggested fixes · booking_v24 drafted · proven in sim
PromptVerify identity before issuing refundssim 61 → 92
InfraStream responses to cut dead air4.2s → 0.9s
VoicePhoneme hints for drug namessim 71 → 94
Modelgpt-4o → gpt-4.1 on reasoning turnssim pass

each fix cites the failing calls it came from · apply only what you accept

Where this goes

Next: the loop closes itself.

An agent can only improve itself if it can measure itself. That's why we built evals and simulation first.

Shipping today

Roark catches the issue, drafts the fix and proves it

Every call scored on the audio, every failure reproduced in simulation, and the fix drafted for you: the prompt edit, the model swap, the phoneme hint. You review and apply.

In development

Fixes sourced continuously, ranked by simulated wins

Suggestions drawn from production calls as they land and pre-validated against your failing scenarios, waiting in the queue before you go looking.

The thesis

Roark applies it, with your approval, and verifies it live

Building, testing, monitoring and improving collapse into one loop that closes itself.

03 · Get started

First call scored in under a minute.

One click on any platform below and production calls stream in on their own, or send any recording with a few lines of code.

Read the quickstart
evaluate.ts
import Roark from '@roarkanalytics/sdk'
const client = new Roark({ bearerToken })
await client.call.create({
recordingUrl, startedAt,
interfaceType: 'PHONE',
callDirection: 'INBOUND',
agent: { customId: 'support_v2' },
}) // scored in seconds
Node · Python, plus a REST API for CI/CD and webhooks the instant a call is scored

Works with

Vapi
Bland
Retell
LiveKit
Pipecat
ElevenLabs
Kore.ai
Google
SOC 2Type IIHIPAABAA available

Enterprise-grade from day one: annual pen tests, SSO/SAML, role-based access, configurable retention.

Security details

Bring a recording.
We’ll score it live.

See your own agent measured on the audio it actually produced, in the demo, in real time. Stop guessing whether your voice AI works.

Or start free with $50 in credit · read the docs · support@roark.ai