Inspiration
The episode ends. The story does not.
Entertainment now unfolds in a second live scene: clips circulate, comments spike, context disappears, and producers race to respond before the moment is gone. The bottleneck is not a lack of content. It is turning noisy, contradictory evidence into something worth hearing—quickly—without losing the source trail or the human decision.
We built the opposite of another sentiment dashboard and the opposite of an AI audiobook. AUTOGRAPHY makes the analysis itself entertaining: a finished, performed micro-show with a public door back into the cut.
What it does
AUTOGRAPHY turns a live entertainment question into an evidence-led podcast segment performed by two original fictional house voices:
FRONT ROW carries the audience question, curiosity, and tension. BACKSTAGE brings the receipts, challenges weak claims, and says what remains unresolved.
A producer chooses a bounded current-context window. Gemini gathers and synthesizes public sources, records evidence gaps, and develops a topic-specific two-host script. Optional first-party “cutting room floor” context remains explicitly classified and scoped. The script, audio, and release each cross a separate human approval gate.
An approved episode produces a public Cut Key: an inspectable manifest connecting each released line to its sources, classifications, approvals, version, runtime evidence, and SHA-256 integrity hashes. Private production material stays private; the public record exposes only what its release scope permits.
AUTOGRAPHY does not claim that a hash proves truth, that a platform sample represents public opinion, or that a first-party statement verifies itself. It makes those boundaries visible.
How we built it
AUTOGRAPHY is a TypeScript web application built with Replit Agent and designed to run and deploy on Replit for the Replit partner track.
The browser delivers the cinematic producer desk and public Cut Key. The Node.js server coordinates authenticated producer actions, Gemini calls through the Google Gen AI SDK, Zod-validated structured responses, deterministic authority checks, episode persistence, audio storage, and public verification.
Gemini is used for bounded public-web research with Google Search grounding, evidence synthesis, structured FRONT ROW/BACKSTAGE script generation, and original two-speaker speech generation. Replit PostgreSQL stores workflow and manifest state. Replit App Storage stores generated WAV files by content hash. Clerk supplies application authentication; it is not an AI provider.
The authority boundary is intentionally outside Gemini. Development, script, audio, and release are separate human decisions. Unsupported or unapproved material is held behind the Velvet Rope instead of silently published. Live-generation or storage failures remain failures; production does not quietly substitute fixtures.
For first-publish safety, the API opens its health port before durable hydration, reports initializing, ready, or failed, and returns 503 from podcast routes until storage is truly ready.
Challenges we ran into
The hardest problem was not producing text. It was preserving a trustworthy chain from evidence to performance without turning the experience into compliance software.
We separated what a source says, what the model infers, and what a human authorizes. We also had to prevent success before database and audio writes were durable, protect public streaming from workflow locks, preserve historical manifests, make concurrent instances converge on one authoritative revision, and break a first-deployment deadlock without weakening fail-closed behavior.
The design challenge mattered just as much: the ON AIR light, Evidence Reel, FRONT ROW/BACKSTAGE format, Velvet Rope, and Cut Key translate an auditable workflow into familiar production language.
Accomplishments that we are proud of
Source discipline is the structure of the show, not a disclaimer beneath it. The performed output and public proof are two surfaces of the same artifact. Human authority is enforced by deterministic application policy, not delegated to model judgment. Public Cut Keys expose line-level source mappings without exposing private production context. Podcast manifests persist in PostgreSQL and WAVs use content-addressed Replit App Storage with SHA-256 verification. Public audio supports byte-range streaming for seeking. The final startup-readiness verification completed 37 API tests with 37 passed and one environment-specific PostgreSQL/App Storage integration test skipped; 2/2 frontend tests passed; TypeScript stages and both production builds passed.
What we learned
Provenance is not permission, and integrity is not truth. A useful media agent must say what it knows, what it inferred, what remains unresolved, and who chose to release the result.
Human-in-the-loop cannot be a decorative confirmation button. Authority has to be a state machine: the model may research, structure, rehearse, and propose, but it cannot cross the release boundary by implication.
Most importantly, evidence does not have to make entertainment less magical. When the record is built into the artifact, curiosity becomes the reason to inspect it.
What's next
Next we would expand the same architecture to licensed live-source connectors, producer-controlled first-party context, richer multimodal evidence, collaborative approval roles, superseding corrections, additional show formats, and exportable Context Keys for authorized press and brand workflows.
The long-term idea is simple: every public story should be able to carry a checkable backstage without exposing the private room that produced it.
Fast enough for the moment. Disciplined enough for the record.
Built With
- clerk
- drizzle-orm
- express.js
- gemini-2.5-flash-preview-tts
- gemini-3.6-flash
- google-gen-ai-sdk
- google-search-grounding
- node.js
- openapi
- orval
- react
- replit-agent
- replit-app-storage
- replit-deployments
- replit-postgresql
- typescript
- vite
- vitest
- zod

Log in or sign up for Devpost to join the conversation.