burnt melba
a fully autonomous AI vtuber who live-streams without a human at the controls. she picks what to do, drives real applications through a browser, talks in real time, remembers what happened, sets her own goals, and can rewrite her own code mid-stream. she runs in public, where every failure is visible to an audience.
looking for the vtuber rather than the engineering? meet burnt melba →
why a vtuber is a serious engineering problem
an agent that must act continuously, in real time, in front of an audience, with no operator to unstick it, fails in ways a benchmark never shows you.
no human in the loop
real time, not batch
real software, not sandboxes
long horizon state
how she works
an autonomous decision loop
a brain process carries mood state across eight modes, each with its own energy, creativity, and volatility values, plus its own bias toward certain tools. an urge accumulator decides when she acts unprompted rather than only reacting to chat.
61 tools, called on her own initiative
browsing, vision, music composition, stream control, polls and moderation, minecraft and tetris agents, memory writes, goal management, mood and temperature control, and a code queue she can push work onto.
browser automation over the devtools protocol
a headful chrome driven by puppeteer-core and raw CDP, with a service exposing document, query, eval, and command endpoints, plus platform-specific extractors for the sites she visits. this is the same technique behind the instrumentation harnesses we build for clients.
memory and goals that persist
a local database holds chats, memories, goals, dynamic context, and a log of her own code modifications, with a retrieval layer and an embedding service on the reply path so recall stays inside the latency budget.
voice
streaming text to speech, then a local retrieval-based voice conversion pass to keep a consistent voice identity, with speech recognition on the input side for spoken interaction.
she edits her own code
viewers suggest changes, and she can queue and apply modifications to her own codebase, gated by a cooldown, a startup delay, and a lock that is held until the change actually lands. every modification is recorded and recallable.
where our grading pipeline came from
giving her a voice that does not sound like a generic assistant meant building a real data curation pipeline. that pipeline is now the method we sell.
generate and normalize
candidate conversations are written into a fine-tune-ready chat schema, including tool-call traces rather than plain chat alone, across 12 numbered corpus generations to date.
grade every record on a weighted rubric
an LLM-as-judge scores each record 1 to 10 on six weighted dimensions, returning structured JSON with per-dimension scores and failure flags. the judge must produce a gut read and justification alongside the numbers.
auto-fail the failure modes that matter
a record is forced to the bottom of every dimension if it slips into assistant-brain: corporate politeness, template openers, hedging connectives, self-reference as an AI, or flawless formal grammar in casual conversation. these are exactly the patterns a naive quality score would rank highest.
filter, dedupe, and de-parrot
a five-stage pass drops everything under the score threshold, deduplicates on a normalized fingerprint, removes responses that merely echo the user, strips degenerate repetition, then shuffles and writes the final set.
set the threshold from the distribution
the threshold is an input, not a constant, and reading the distribution is what tells you where to put it. a floor cleans a corpus. a high cut selects a top band. they are the same pipeline and very different datasets.
the rubric, and what it weighs
what it feeds back into
every technique on our services page has a version of itself running here first.