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.

