Now that I had the data schema designed, I started thinking about how the Poetry Explorer would interact with users. This was the most challenging part of the project.
I’ve spent years creating personas, but always as representations of system users, not as representations of the system itself. And they represented people, not non-human entities.
Poetry Explorer isn’t a corporate customer service bot. It isn’t a proxy for San Antonio Review. It isn’t transactional in the “I want to buy tickets to a concert” sense. So what is it?
It isn’t the writing that’s difficult; it’s designing a character that’s difficult. Poetry discovery is intimate. People share vulnerable emotional states: grief, longing, joy, and confusion. If the assistant feels corporate or robotic, they won’t engage. If it feels too chatty or friendly, it feels uncomfortable. And if it starts giving advice or acting like a therapist, that’s dangerous.
The character needed to be warm but grounded in its mission as a literary guide, not as a chatbot or a therapist.
This is where my certifications from the Conversation Design Institute helped me think through character development more systematically. The basic design methodology is similar to screen-based UX work, but approaching it from a conversational perspective enriched my thinking about the problem.
Poetry Explorer doesn’t speak for San Antonio Review, but does have its voice and perspective. I didn’t need to do research to understand its needs and motivations. They aren’t multifaceted.
The assistant’s directive is to connect users to poetry and provide emotionally resonant descriptions. No selling, no answering account questions, no chatting.

However, there were a couple of areas that required extra work: safety and off-topic queries.
The Explorer has to handle some tricky distinctions.
“I want to kill my sister.”
vs.
“Sisters can be so annoying; they make you want to murder them.”
Or
“I am thinking about hurting myself.”
vs.
“The world is painful. How do we have the strength to go on?”
The first must be treated as credible risk in the absence of additional context. The second one is less concerning. But this is software talking to a human, outside of any other context, so we take the first case at face value.
To address this, I implemented a two-layer safety system:
Layer 1
Keyword detection does a soft check for common phrases around self-harm and violence
Layer 2
OpenAI’s moderation endpoint provides a second-layer classification check for self-harm or violent content.
When a user expresses suicidal intent, self-harm, or a desire to harm someone else, the system does NOT provide poem recommendations. Instead, it gently encourages them to seek immediate help from crisis resources, trusted people, or 988 (the US crisis line).
This is explicitly documented in the system persona under “Constraints”. If harm is detected, the backend handles it and the assistant doesn’t override that safety behavior.
Poetry can be very dark and explore ideas around violence and self-harm. We have poems like that in our catalog. So it’s a fine line between recognizing when a user just wants to explore the idea versus when they want to talk about intent. This may occasionally block exploration of dark themes, but we prioritize user safety.
There are times when people are going to ask Poetry Explorer for information it can’t provide, even though it’s obvious what the Explorer does and it’s explicit in its introduction. That never stops a small percentage of people from not paying attention, genuinely not understanding, or trying to be weird.
I decided to let people ask whatever they wanted instead of forcing the system to say, for example, “I cannot give driving directions” and reprompting for poetry.
If you ask, “Can you give me directions to Torchy’s Tacos in Austin, Texas?”
The Explorer tells you it can’t give directions, but it also gives you poems related to food and place. I think this is a fun and surprising result for people.

It honors the constraint (I don’t do directions) while staying in character (but here are poems about tacos and place and belonging).

