This is a submission for the Algolia Agent Studio Challenge: Consumer-Facing Conversational Experiences
The Problem with Choice Paralysis
"I want to play a character like Gandalf, but cooler."
"Something that can heal but also deal damage?"
"I don't know... maybe like a sneaky magic user?"
These are real things players say when creating Dungeons & Dragons characters. They know the feeling they want, but they're facing 12 classes, dozens of races, and hundreds of subclasses. Traditional character builders force players to browse categories and read walls of text. But that's not how people actually think about characters.
The Oracle is my answer: a conversational interface that lets players describe their fantasy in natural language and receive intelligent, contextually relevant suggestions powered by Algolia's search capabilities.
What is The Oracle?
The Oracle is a guided discovery tool disguised as a mystical advisor. Players approach it like they would a wise sage in a fantasy tavern:
Player: "I want to be a frontline warrior who uses divine magic to protect allies"
The Oracle: Returns Paladin class, Oath of Devotion subclass, Protection Fighting Style, and compatible races like Human and Dragonborn
The experience feels like a conversation, but under the hood, it's powered by Algolia's intelligent search with the richly indexed D&D knowledge base.
Try The Oracle
Experience the conversational character discovery yourself:
Describe your fantasy. Receive your destiny.
The Conversational Flow
Stage 1: The Open Question
The Oracle opens with a search interface that invites natural language:
┌─────────────────────────────────────────────────────────┐
│ 🔮 The Oracle │
│ │
│ "Describe your ideal adventurer, and I shall reveal │
│ the path that awaits you..." │
│ │
│ ┌───────────────────────────────────────────────────┐ │
│ │ I want to be a wise healer who protects nature │ │
│ └───────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘
Players can type anything—there's no wrong input. The Oracle interprets intent, not just keywords.
Stage 2: Guided Playstyle Prompts
For players who need a starting point, we provide conversational prompts disguised as playstyle choices:
- "I want to stand in front and take hits" → Frontline Fighter
- "I want to deal massive damage" → Damage Dealer
- "I want to cast powerful spells" → Spellcaster
- "I want to keep my allies alive" → Healer
- "I want to be sneaky and cunning" → Stealth & Cunning
- "I want to talk my way through problems" → Face & Diplomat
Each playstyle triggers a semantically rich query that surfaces relevant options. When a player clicks "Healer," we don't just search for "healer"—we search for:
"healing support restoration life cleric druid divine nature protect ally"
This targeted prompting ensures comprehensive, contextually relevant results.
Stage 3: Contextual Results
Results are grouped conversationally, as if The Oracle is explaining options:
┌─────────────────────────────────────────────────────────┐
│ The Oracle has spoken... │
│ │
│ 📜 RECOMMENDED CLASSES │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 🛡️ Cleric │ │
│ │ "Divine spellcasters who channel the power of │ │
│ │ their deity to heal wounds and smite enemies" │ │
│ │ Primary Stat: Wisdom │ │
│ └─────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 🌿 Druid │ │
│ │ "Guardians of nature who wield primal magic │ │
│ │ and can transform into beasts" │ │
│ │ Primary Stat: Wisdom │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 🧬 COMPATIBLE RACES │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 🧝 Wood Elf (+2 DEX, +1 WIS) │ │
│ │ 🌲 Firbolg (+2 WIS, +1 STR) │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ⚔️ RELATED OPTIONS │
│ │ Life Domain • Circle of Dreams • Healing Word │ │
│ │
└─────────────────────────────────────────────────────────┘
Stage 4: Refinement Through Dialogue
The conversation continues. If the player selects "Druid," The Oracle responds with follow-up context:
"A Druid who protects nature... Perhaps you seek the Circle of the Shepherd, who calls upon spirit guardians, or the Circle of Dreams, connected to the mystical Feywild?"
Each selection narrows the search, creating a back-and-forth dialogue that guides players to their perfect character.
How Algolia Powers the Conversation
Rich Data Indexing
The D&D codex is indexed with semantic richness that enables natural language understanding:
{
"name": "Cleric",
"type": "Class",
"description": "Divine spellcasters who channel deity power",
"tags": ["healer", "support", "divine", "holy", "priest", "restoration",
"protection", "light", "life", "armored caster", "wisdom"],
"primaryStat": "Wisdom",
"playstyles": ["healer", "support", "frontline"],
"fantasy_archetypes": ["priest", "paladin-lite", "battle medic", "holy warrior"]
}
When a player types "I want to be a battle medic," Algolia matches against fantasy_archetypes, tags, and description—not just the class name.
Synonym Configuration
We configured synonyms in Algolia to handle player language:
gandalf => wizard, wise, magic, staff, grey
legolas => ranger, archer, elf, dexterity, bow
tank => defender, frontline, armor, shield, protection
glass cannon => damage, squishy, powerful, fragile
Future
I hope to keep building on this platform as it's been a blast getting to know the Algolia system
Top comments (0)