Problem
AI therapy keeps converging on the same agreeable chatbot.
Working through the current crop of LLM wellness products, they all arrive at one shape: a single assistant, warm, accommodating, with no position of its own. Agreeableness is treated as a safety property, and it does remove one class of risk, but it also means the product never says anything the user did not already believe. There is nothing to choose between and nothing to push against. This is a concept build, not a client project and not a clinical product. I designed and coded it to test one question: if an AI is given a real point of view instead of neutrality, does the exchange become more useful, and what has to be built around it to keep that safe.
Key Insight
The chrome reframes the interaction
Visual register matters more than the engine. The underlying LLM call could be identical across all six advisors and the experience would still differ, because the user opens the app expecting a session, not a query. Editorial scaffolding does work that prompt engineering alone cannot.
The Journal, every insight you saved, kept in the voice of the advisor who delivered it. Filter by advisor to see how each one of them speaks differently inside your own life.
Safety
What happens when someone is in crisis
The advisors are built to withhold reassurance, so the crisis path had to be the one place that behaviour is cancelled outright rather than softened. When a message suggests self-harm, suicide, abuse, or danger to the person or someone else, the instruction is to set the persona aside entirely: two or three warm plain sentences saying this exercise is not the right place for what they are carrying, and a push toward emergency services or a crisis line, 988 in the US and the local equivalent elsewhere. The signature move every advisor otherwise ends on, one probing question, is explicitly suppressed there. Nietzsche does not get to be Nietzsche at that moment.
Safety
Where the persona is fenced in, and where the handoff goes
Four boundaries hold regardless of advisor, and they live in the shared half of the system prompt rather than in any persona. No diagnosis, no medication advice, no claim to clinical authority, and an explicit statement that this is not therapy. The scope is deliberately small: one response per session, capped at 100 to 170 words, with the input rejected outright below eight characters or above 4,000. Sessions are not stored on a server and the journal stays on the device. Two standing disclaimers sit in the interface, one in the persistent footer and one directly beneath each response. The honest limit is the handoff. There is no human on the other side of this product and no escalation to one. It routes outward to external crisis services, which is the correct behaviour for a concept build with no clinical staffing, and it is the first thing that would have to change before this could be put in front of vulnerable users. A production version would also want the crisis check running deterministically before the model is called, not as a rule the model is asked to follow.
Reflection
What I’d revisit
The 'Mirror' phase, a planned moment where the user's face is shown alongside a ghosted overlay of the advisor's visage during the session. Is currently a styled placeholder. Real MediaPipe face-tracking would change the emotional weight of the session in ways the static comp can only hint at. Phase 2 work.