← Projects

Steve voice agent

Archived notes on an ElevenLabs voice demo, signed sessions, and call recap handling.

Steve was a voice-agent sandbox with session launch and post-call recap handling. The current site has no call widget or public voice runtime.

The earlier implementation is retained in the site’s source history and archive. These notes describe that work.

Session handling

The browser requested signed session access from a backend rather than receiving the provider’s API credential. Session creation and call handling were separate from recap retrieval.

A session identifier connected the call to its recap. Session credentials, transcripts, and ordinary site analytics require different retention and access rules.

Recap states

A completed call does not mean the recap is ready. The page needs distinct states for processing, available, failed, and expired.

Recap requests should be tied to the authorized session. An unguessable identifier alone is not a complete access-control policy.

For repeated callbacks, store the provider event identifier and make processing idempotent. Replaying an event should not create another follow-up task.

Testing

Useful cases include a dropped call, delayed recap, duplicate callback, expired session, and a recap that never arrives. Keep transcripts and expected outcomes with the test cases in a restricted location.

The public site does not publish evaluation scores or offer this as an active service.

Technologies: ElevenLabs, Astro, Cloudflare.