Conversational Twin
Ed DonnerA conversational twin of self. Replies are augmented from unstructured source files. Session context is kept in cloud storage so the dialogue can continue across visits.
Next.js · AWS Lambda · API Gateway · CDN · block storage · Terraform · GitHub Actions
Overview
Conversational Twin is a serverless chat product: CloudFront hosts the site and embeddable widget; API Gateway and Lambda own /chat. One Conversational Twin agent on Lambda builds a persona prompt, talks to Bedrock Nova, and keeps session memory in S3.
System design
- Embed host, agent API. OPG Labs embeds the widget; the browser never calls Bedrock.
- Persona before reply. Resume, LinkedIn, and style notes shape every turn.
- Session memory in S3. Dialogue continues across visits via per-session JSON.
- Same path for voice and type. Whisper and TTS wrap the same
/chatagent path.
Product path
What a visitor can do. Diagram key: ✦ AI agent · purple = actor · white = service.
---
config:
theme: default
themeVariables:
background: "#ffffff"
fontSize: "14px"
---
flowchart TB
person[Website visitor]
host[OPG Labs host page]
widget[Twin widget]
twin["✦ Conversational Twin"]
reply[Reply plus face]
person -->|open project page| host
host -->|embeds widget| widget
person -->|type a message| widget
person -->|speak into mic| widget
widget --> twin --> reply --> widget
classDef agent fill:#e8f0ee,stroke:#0f3d36,stroke-width:2px,color:#0d0d0d
classDef service fill:#fafaf8,stroke:#c8c8c2,stroke-width:1px,color:#0d0d0d
classDef actor fill:#f3eef8,stroke:#6b4f9a,stroke-width:2px,color:#0d0d0d
class twin agent
class host,widget,reply service
class person actor
Memory, persona, and voice detail live on Mental Model and the Conversational Twin tab.
Clean product overview and path. Mental Model holds the five-layer map and Anthropic workflows; Conversational Twin owns chat and voice detail.