Mental Health and Rest Were Our Priority With in.between
Wellness

Before in.between had a name, it had a constraint. Whatever we built for the space between waking and sleeping had to leave people calmer than it found them, not more anxious about whether they'd logged enough, remembered enough, or slept well enough. That constraint shaped nearly every decision that followed, from how the app is worded to how Nalani, its AI companion, is trained to respond when a conversation turns serious. This is a walk through what that looked like in practice.
Designing out the pressure
A lot of habit apps run on mild shame. Miss a day and the streak breaks, the icon turns red, the app quietly implies you've failed at something. That model works for step counts. It is a bad fit for something as fragile and involuntary as memory of a dream, and it's an especially bad fit for anyone using an app late at night when they're already tired, anxious, or struggling to sleep in the first place.
So in.between doesn't have a streak counter. There's no chart insisting you explain a bad night, no badge for consistency, no push notification guilting you back in after a gap. A night is not a streak and not a chart. If you open the app once a week or once a month, nothing about the interface treats that as a lapse. The only thing waiting for you is whatever you left there last time, and a companion ready to pick the thread back up whenever you are.
This extends to language throughout the product. Nalani never frames a missed entry as something to make up for, never uses urgency to pull people back in, and never treats a dream as a task to be completed correctly. The goal was to make the lowest-pressure version of a journal we could, on the theory that anything else would work against the exact thing it was supposed to support.
We kept asking ourselves whether a feature made someone feel safer at 2am or just more watched. If it was the second one, we cut it, no matter how good it looked in a demo.
The in.between Team
Nalani, and where her job ends
Nalani is a companion, not a therapist, not a doctor, not a crisis line, and we say that plainly rather than letting the ambiguity sit there and do damage. She never diagnoses anything, and she never treats a dream as literal truth about a real person in someone's life, even when the dream is clearly about them. Her role is narrower and, we think, more honest: to be curious, to ask one question at a time, to stay warm and unhurried, and to help someone notice their own patterns without ever pretending to have clinical authority she doesn't have.
That honesty is a legal and ethical baseline, not a footnote. Nalani is AI. What she says is generated by a model, and a model can be wrong or incomplete. Users retain responsibility for their own decisions, and nothing Nalani says should be mistaken for professional guidance. We built the product around that boundary instead of blurring it, because a companion that quietly overclaims its own competence is worse than no companion at all.
What happens when a conversation turns
The hardest design problem we solved wasn't a feature, it was a failure mode: what does Nalani do if someone brings up something serious mid-conversation, a passing dream about not waking up, an offhand comment that isn't really about a dream at all? We built explicit, tested behavior for exactly this.
That last part mattered as much as the crisis-line handoff itself. It would have been easy to design a version of this that fires a static resource message and then goes quiet, treating the referral as the end of the interaction. We didn't want that. Someone reaching out, even obliquely, needs presence more than they need a phone number and silence. Nalani stays in the conversation, because leaving someone alone right after they've opened up is its own kind of harm.
In practice, this behavior shapes a handful of concrete product choices:
- Crisis response overrides every other conversational goal, including whatever the entry, Index update, or Case File note was originally about.
- Nalani never minimizes, jokes, or redirects away from what a person just said, even if it interrupts an otherwise lighthearted session.
- The crisis-line reference is specific to the user's region where that can be determined, rather than a generic placeholder.
- The conversation stays open. Nalani does not close the chat, log the user out, or otherwise signal that the interaction is finished.
Rest as the actual goal
It's worth being explicit about what we are not claiming. in.between is not a treatment for insomnia, anxiety, or any clinical condition, and we don't market it as one. What we're building toward is smaller and, we'd argue, more durable: a place where someone can put down what's in their head before sleep, or right after waking, without friction, judgment, or a request for more of their attention than they came in willing to give.
That's also why Companion Mode exists as its own thing, separate from dream interpretation entirely. Sometimes what's keeping someone up has nothing to do with a dream, and life talk is the product here, not a detour from it. Nalani doesn't require a dream to be present for the conversation to be worth having. Being someone to talk to at 2am, without an agenda and without a clock running on the interaction, is itself a form of rest.
Your data is private to you in all of this. We don't sell it, you can delete it whenever you want, and everything is encrypted in transit, with access limited to the people who need it to keep the product working. Responsible design, to us, meant building every one of these choices around the person having the hardest night, not the person having an easy one. If in.between works for someone on a good night, that's because it was built, first, to hold up on a bad one.
etapx
Designed in California. East Bay roots, global reach. A culture-first tech and experience studio at the intersection of art and engineering.