A voice-led conversational AI

Best viewed on a desktop or tablet. This case study was designed as a presentation; the scroll version is below.

Personal Portfolio

Why

Flat visuals are a 20th century design language. Fixed, one-way, the same for everyone. Conversation is what comes next. Two-way, responsive, shaped by the person you’re talking to. More human, too.

Challenge

A portfolio is a one-way artifact. Visitors read; they don’t ask.

Solution

A voice agent that turns the portfolio into a conversation, built on the ElevenLabs SDK, with a scoped persona and a system prompt that holds the line.

Scope of Work

Case Studies

Client

Self-initiated

Year

2026

  • Case study // Personal Portfolio

    A voice-led conversational AI

    Self-initiated
    2026
  • Why

    Flat visuals are a 20th century design language. Fixed, one-way, the same for everyone. Conversation is what comes next. Two-way, responsive, shaped by the person you’re talking to. More human, too.

    Challenge

    A portfolio is a one-way artifact. Visitors read; they don’t ask.

    Solution

    A voice agent that turns the portfolio into a conversation, built on the ElevenLabs SDK, with a scoped persona and a system prompt that holds the line.

  • The build

    The agent, as configured (v3). Four fields do the work.

    System prompt: the rules. Who it speaks for, what it won’t answer. Every line a rule, not a fact.

    First message: names the medium, sets the pace. “Interrupt anytime,” and it’s interruptible.

    Voice: one voice, tuned once. Stable, quick, no emoting.

    Model: small and fast. In voice, latency is tone.

    One tool. Ask about a project, and it appears while the orb’s still talking.

  • The audience

    Recruiters, hiring managers, and design leads. People who arrive with a specific question and limited time.

    They want to know how I think, what I’ve built, and whether the conversation is worth continuing.

    A portfolio answers those questions by making them scroll.

    The orb answers them by letting them ask.

  • The voice

    Three decisions shaped the persona.

    First: speak in my voice but stay one step removed. First person about the work, not as the work.

    Second: conversational pacing built into punctuation, not SSML. Ellipses and periods do the work, because ElevenLabs reads the tags out loud.

    Third: name the medium in the first sentence. “Interrupt anytime” tells the visitor this is a conversation, not a monologue.

  • The system

    Built directly on the ElevenLabs SDK, not the hosted widget, so the orb, its states, and the case study tool are mine. A question about a project can put that project on screen mid-sentence.

    Inside the agent, behavioral rules live in the system prompt and knowledge lives in the knowledge base. Scope, refusal, and tone are rules. Career history and case studies are knowledge. The agent stays in character when the content changes, and the content updates without rewriting the persona.

    The model is chosen for turn speed, not reasoning. In voice, a slow answer reads as a wrong one.

  • First

    Separating rules from knowledge is the architecture decision that holds everything else together.

    Second

    Pacing lives in punctuation more than in markup. ElevenLabs v2 reads markup out loud.

    Third

    The system has to be honest about its scope, or the trust collapses on the first question it can’t answer.

    Try it

    Talk to the live agent →

The build

The agent, as configured (v3). Four fields do the work.

System prompt: the rules. Who it speaks for, what it won’t answer. Every line a rule, not a fact.

First message: names the medium, sets the pace. “Interrupt anytime,” and it’s interruptible.

Voice: one voice, tuned once. Stable, quick, no emoting.

Model: small and fast. In voice, latency is tone.

One tool. Ask about a project, and it appears while the orb’s still talking.

The audience

Recruiters, hiring managers, and design leads. People who arrive with a specific question and limited time.

They want to know how I think, what I’ve built, and whether the conversation is worth continuing.

A portfolio answers those questions by making them scroll.

The orb answers them by letting them ask.

The voice

Three decisions shaped the persona.

First: speak in my voice but stay one step removed. First person about the work, not as the work.

Second: conversational pacing built into punctuation, not SSML. Ellipses and periods do the work, because ElevenLabs reads the tags out loud.

Third: name the medium in the first sentence. “Interrupt anytime” tells the visitor this is a conversation, not a monologue.

The system

Built directly on the ElevenLabs SDK, not the hosted widget, so the orb, its states, and the case study tool are mine. A question about a project can put that project on screen mid-sentence.

Inside the agent, behavioral rules live in the system prompt and knowledge lives in the knowledge base. Scope, refusal, and tone are rules. Career history and case studies are knowledge. The agent stays in character when the content changes, and the content updates without rewriting the persona.

The model is chosen for turn speed, not reasoning. In voice, a slow answer reads as a wrong one.

Key insights

First

Separating rules from knowledge is the architecture decision that holds everything else together.

Second

Pacing lives in punctuation more than in markup. ElevenLabs v2 reads markup out loud.

Try it

Talk to the live agent →

Third

The system has to be honest about its scope, or the trust collapses on the first question it can’t answer.