Lili Genn Notovitz
Case study / 01

Kohra

Designing the system around an emotionally sensitive AI product.

Kohra began as a conversational product for helping people move from insight into action. As the prototype grew, my role expanded into defining what the product was, how the AI should make decisions, what needed to be deterministic, how uncertainty should change its behavior, and how the team could maintain the system over time. I led product design across strategy, conversation architecture, confidence scoring, safety, evaluation, the AI document library, and the user-facing experience.

RoleProduct Design Lead
TimelineOct 2025 to present
ProductConversational AI, mobile
FocusArchitecture, safety, evaluation, UX
Kohra / system designProduct Design Lead
01
Product clarity

Mission, user model, product promise, acquisition and retention logic

ALIGNMENT
02
Runtime governance

State machine, routing, consent gates, anti-loop logic, safety constraints

DETERMINISTIC
03
Confidence model

Four internal confidence signals help determine pacing, depth, and next move

CONTROL
04
AI document library

27 source-of-truth documents for behavior, knowledge, tone, process, and safety

INTELLIGENCE
The architecture changed as real failure modes surfaced.
Kohra mobile product entry screen
Product clarity
One strategic source of truth
Mission, user segments, product promise, feature logic, and retention strategy.
Behavior architecture
Deterministic + agentic boundaries
State, routing, consent, safety, memory, escalation, and evaluation responsibilities.
Confidence model
Uncertainty as a control layer
Four internal confidence signals inform pacing, depth, and progression.
AI document system
27 source-of-truth documents
A maintainable library for process, safety, tone, knowledge, and product behavior.
01 / Product clarity

Getting clear on what Kohra actually needed to be.

Before the team could make good implementation decisions, we needed a stable definition of the product. I created and maintained Kohra's Product Definition Page so product, design, and engineering had somewhere to return when we disagreed about who we were building for, what problem mattered most, why someone would come back, or whether a feature belonged in the MVP.

It became the document we returned to when a feature, prompt, or technical decision started pulling the product in a different direction.

01

Named the problem. We used the Wisdom-Action Gap to describe what we kept seeing: people could have a real insight and still lose access to it under ordinary stress.

02

Worked out why people would return. The Door was the acute need that brought someone in. The Living Room was the quieter daily experience that made Kohra useful between hard moments.

03

Made the audience more concrete. Sustainers, Optimizers, and Seekers gave us different starting points without pretending every user arrived with the same problem.

04

Used the feature matrix to say no. It helped us separate frequent, low-friction habits from deeper episodic work and ask what value each feature was actually creating.

02 / Systems architecture

What looked like a prompt problem became a systems problem.

Early failures showed up as loops, premature session endings, and moments when a response sounded right while the system made the wrong decision about what should happen next. Editing prompts helped individual turns, but the same structural problems kept returning. I started separating what the model could interpret from what the product needed to enforce.

01TEAM ALIGNMENT

Product and ethical source of truth

Before implementation, we needed a stable target. Product Clarity, ethical constraints, tone and sovereignty guidance, and shared definitions gave the team a place to resolve product questions without improvising them inside a prompt.

Product ClarityEthical FrameworkTone & Sovereignty
02HARD-CODED GOVERNANCE

Behavior the model was not allowed to invent

Once we saw where the experience could fail, I moved those decisions out of prose wherever possible. State logic, routing, confidence thresholds, consent gates, anti-loop behavior, safety overrides, and memory rules constrained the interaction at runtime.

State + routingConsentAnti-loopSafetyMemory schema
03VECTORIZED INTELLIGENCE

Knowledge the AI could retrieve and adapt

Other parts of the experience needed room for interpretation. Pattern references, reflection examples, belief work, correction language, and anchor examples could be retrieved and adapted without hard-coding the response itself.

PatternsBelief mappingCorrection phrasingAnchor examples
04EVALUATION + OVERSIGHT

Behavior had to remain observable

I ran recurring evaluations with the eval lead, partnered on PostHog instrumentation, and defined human-in-the-loop escalation paths for cases requiring clinical sign-off. If we could not see why the system failed, we could not improve it reliably.

Confident AIPostHogHITL escalationSession telemetry
Behavior taxonomy

That work also led me to create a four-layer taxonomy for deterministic and agentic behavior. It gave product and engineering a practical way to decide, feature by feature, how much freedom the model should have.

Supporting artifactView the implementation flow map+
Kohra working flow map for Celebrate Mode, Quick Help, Soul Loop, and the wider app

The flow map supported implementation across entry points, phases, gates, stored outputs, check-ins, Growth Reports, and account surfaces. It is one artifact inside the wider architecture rather than the architecture itself.

03 / Confidence model

Designing for uncertainty.

One recurring risk was that the model could make a plausible interpretation and act on it too confidently. I designed four internal confidence signals so uncertainty changed what Kohra was allowed to do. The scores stayed behind the scenes and influenced pacing, depth, routing, and whether the system should proceed at all.

01Internal confidence signal

One of four internal inputs used to calibrate how confidently the system should act on its current interpretation.

02Internal confidence signal

The signals were evaluated together and remained invisible to the user during the experience.

03Internal confidence signal

Lower confidence could slow the interaction down or create space for clarification before the next move.

04Internal confidence signal

The control layer helped keep a plausible interpretation from automatically becoming an action.

user signal4 confidence signalspermissioncontinue / clarify / route / stabilize / stop
04 / AI document library

Building the AI document library.

As the system grew, product strategy, safety rules, therapeutic methodology, tone guidance, examples, and runtime behavior were beginning to compete for space and authority inside prompts. I split the system into 27 source-of-truth documents, each with a specific job, so we could change one part without accidentally rewriting another.

27system + training documents

Each document had a defined job in the broader behavior system.

PRODUCT + ETHICS

Defines what Kohra is and the boundaries it should preserve.

  • Product Clarity
  • Ethical Framework
  • Tone & Sovereignty
  • Longitudinal Experience
BEHAVIOR GOVERNANCE

Defines what happens, when, and under what conditions.

  • State Machine & Routing
  • Confidence Model
  • Consent Gates
  • Safety + Edge Cases
  • Anti-loop rules
PROCESS SPECS

Turns the methodology into implementable phase behavior.

  • Regulation / Reveal
  • Alchemist
  • Anchor
  • Quick Help
  • Celebrate Mode
AI INTELLIGENCE

Supplies reusable knowledge without hard-coding every response.

  • Belief extraction
  • Pattern references
  • Correction language
  • Anchor orientations
  • Memory + Growth inputs
Why split it up?

The document boundaries made ownership visible. A safety change could stay a safety change. A tone update did not have to alter routing logic. A new example did not quietly become a new product rule.

05 / Experience modes

Three modes for three different moments.

A person checking in after a win did not need the same experience as someone who was overwhelmed in the middle of the day. And neither necessarily needed a full Soul Loop. Celebrate Mode, Quick Help, and Soul Loop let the product change its depth and pacing without making every interaction feel like the same process.

01 / RECEIVE

Celebrate Mode

Help the user fully receive a win, understand what it means, and connect it to who they are becoming.

Recognition → Receiving → Meaning → Identity reinforcement → Anchor
02 / CLARIFY

Quick Help

Bring the user toward clarity and calm when they do not have enough time or capacity for a full rewiring process.

Ground + vent → Clarify → Reframe → Act → Close + bridge
03 / REWIRE

Soul Loop

Support deeper transformation through regulation, belief identification, somatic rewiring, aligned action, and integration.

Regulate → Reveal → Consent → Rewire → Midpoint choice → Act → Anchor
06 / Product surfaces

Giving the system a quieter surface.

By this point, Kohra was becoming more than a chat screen. Reminders, Growth Reports, and account controls all had to support the same experience without adding more cognitive load. I kept the interface deliberately restrained and let the conversational behavior do most of the work.

Primary interaction

Chat made intent easy to express.

Suggested entry prompts lowered blank-page friction and helped route users toward calm, clarity, decision support, or a lighter interaction.

Kohra chat interface with suggested prompt buttons for calm, clarity, decisions, and a cosmic fortune cookie.
Kohra My Growth screen with monthly report cards.

Growth over time

Monthly reports gave users a place to revisit patterns and progress beyond an individual conversation.

Kohra reminders settings with morning and evening reminders.
RemindersAM and PM check-ins supported repeat use and continuity.
Kohra October growth report with wins, wisdom unlocks, growth areas, and hidden patterns.
Growth ReportSession data became a reflective monthly artifact instead of disappearing into chat history.
Kohra account screen with profile, subscription, reminders, get help, and community event entry.
Control and helpProfile, reminders, support, and community lived in a predictable account surface.

Alpha UI shown here includes earlier Inner Sage naming in a few screens. The product was later renamed Kohra.

07 / Alpha feedback

What surprised me in alpha.

I was watching closely for whether people felt helped without feeling directed by the product. The feedback that mattered most was specific: people described new clarity, emotional release, repeat-use value, and, importantly, a sense that they still owned the insight and the decision. Names below are pseudonyms used for privacy.

“It was a beautiful surprise this morning to gain new insight about myself, feel supported, on the right track, and I didn’t give away my agency at all.”
Maya / alpha tester
“I would use this daily, in the same way someone would hire an assistant for administration, I would use this as a guide or coach when life becomes foggy, heavy, or stormy.”

Jonah also described gaining clarity that brought tears to his eyes and leaving with greater self-awareness, empowering beliefs, and simple actions he could apply immediately.

Jonah / alpha tester
“Knowledge alone can’t fix it. I integrated a practice for my body, and it led me to break down.”

Eli described the release as something that had felt stored in his chest for years. His feedback reinforced the role of embodiment in the deeper Soul Loop experience.

Eli / alpha tester
08 / Outcomes

What changed after the architecture work.

The most useful outcome was that fewer decisions were being rediscovered inside individual prompts. Product, engineering, and evaluation had clearer rules to work from, and the system had more explicit ways to recover when a conversation went off track.

40%

Reduction in prompt failure rates

After repeated prompt edits failed to solve the same structural issues, moving those decisions into the conversation architecture reduced failure rates.

30%

Less cross-team ambiguity and rework

The guidelines gave product and engineering a shared reference point, so fewer implementation questions had to be resolved from scratch.

27 docs

A system the team could actually maintain

Behavior, safety, process knowledge, tone, and longitudinal logic each had an explicit home instead of accumulating inside one prompt.

09 / Reflection

What Kohra changed about how I design AI.

I came into Kohra thinking a lot about conversation quality. I came out of this work thinking much more about control.

The hardest failures were not always bad responses. They were moments when the system made the wrong decision about what to do next: moving forward too early, looping backward, treating uncertainty like certainty, or continuing when it should have slowed down. That is now one of the first things I look for when I design an AI product.

Working on an AI product where the behavior matters as much as the interface?

liligenndesign@gmail.com ↗