Elumi is a daily ritual app for couples. One thoughtful prompt per day. Each partner answers privately and independently. When both have answered, the responses unlock at the same moment. That's the core loop. It's live on the App Store, it has real users, and the experience is exactly as described. But getting there required a series of product decisions that weren't obvious at the start.

This is a write-up of those decisions: why we made them, what we got right, and what took longer to figure out than it should have.

Starting with the problem, not the feature

Most couples don't struggle because they stop talking. They struggle because their conversations become functional. "Did you pick up the groceries?" "Who's handling the bills this month?" The emotional layer thins out quietly over years. You don't notice until you've been with someone for a decade and realize you know their schedule better than their inner world.

That's what Elumi is designed to interrupt. Not with therapy. Not with a social network. Not with another chat interface. With one small daily habit that takes less than two minutes.

The constraint mattered more than anything else in shaping the product. Every feature had to serve the core ritual or stay out of the app entirely. That rule eliminated a lot of ideas that seemed reasonable on their own but would have diluted what the product was for.

The unlock mechanic

The most important design decision in the product is also the smallest one: you cannot see your partner's answer until you have submitted your own.

This changes everything about how you engage with the daily prompt. Instead of reading their response and reacting to it, you have to think first. Your answer is yours. It's honest. When the unlock happens and you read each other's responses side by side, the conversation that follows is genuinely different from anything a standard chat interface produces.

We tested variations. What if partners could see partial answers? What if there was no lock at all? Every relaxation of the mechanic produced a worse conversation. People anchored to their partner's answer and stopped thinking for themselves. The unlock is not a constraint on the user. It's a constraint on the product, one that makes the experience worth having.

The friction is the feature. The lock mechanic is technically trivial. The product reasoning behind it took much longer to arrive at than the implementation did.

No AI in the core loop

Elumi uses AI. Premium subscribers get AI-generated relationship insights, cinematic recap films, and anniversary stories. But the daily prompt, the thing that drives the entire product, is curated by humans. That's a deliberate choice and one of the most important calls we made.

An AI-generated prompt can be good. But it optimizes for novelty and engagement, which are not the same thing as emotional depth. The prompts that work best in Elumi are the ones that catch you off guard because they're specific and unhurried: "What's something you're quietly proud of that you haven't told me?" "When did you last feel genuinely seen?"

Those prompts aren't clever. They don't need to be. They need to create space for honesty. Handing that job to a language model would make the experience feel generated rather than felt. Users sense it, even when they can't name it.

AI lives at the edges of the product, enhancing premium moments. The core stays human.

Emotional tone as a product constraint

One of the harder problems in a relationship app is notifications. Push notifications are how the app touches someone's relationship every single day. Get the tone wrong and you've built a nagging app. Get it right and you've built something that improves someone's day.

Every notification in Elumi went through a tone filter. The question was always the same: does this invite or demand? There's a version that says "Your streak is about to end." We didn't ship that. We shipped "A small moment together is waiting for you."

That's not marketing copy. It's a product decision. The emotional register of a push notification determines whether a user feels cared for or managed. In a relationship app, that distinction is everything.

The same principle applied to error states, empty states, and onboarding flows. Every piece of copy across the product was held to the same standard: warm, unhurried, never pressuring. It sounds like a soft constraint until you realize how much churn it probably prevents.

The paywall philosophy

Elumi has a subscription tier. Premium unlocks unlimited memories, future letters, AI-powered recaps, and premium sharing cards. The free tier includes the full core ritual. That boundary was never up for debate.

Paywalling the daily prompt would have been the obvious revenue move. Block access after day 30. Gate the unlock. Require payment to see your partner's answer. Each of those would have driven more immediate conversions and destroyed the product in the process.

The paywall surfaces after emotional moments: viewing an old memory, hitting the photo cap, finishing a sharing card. The first time a user feels the product deeply is not the moment to interrupt with a payment screen. The second or third time is, because by then the habit is forming and the value is already proven.

Getting paywall placement right matters more than paywall design. Most subscription apps get this backwards and wonder why conversion is low.

Building for solo users first

The original assumption was that both partners would join together. In practice, one person almost always joins first and then has to convince the other. That gap, sometimes days, sometimes weeks, is where a lot of potential users were falling off.

Building a solo mode that delivers real value before pairing was a significant scope addition mid-development. Solo users answer prompts independently, build their own entry history, and share that history with their partner when they eventually pair. The solo entries become shared memories rather than disappearing.

It was more work than anticipated. It was the right call. Solo entry retention and eventual conversion to paired mode both improved meaningfully after the feature shipped.

A few technical pieces worth mentioning

The product experience depends on the app feeling alive even when it's closed. When your partner answers the daily prompt, a notification appears on your lock screen immediately, without needing to open anything. That moment of instant connection, seeing it without having to tap through, is part of what makes the app feel like a shared space rather than a solo one.

Getting that behavior to work reliably required going outside the standard notification infrastructure. The off-the-shelf solution didn't support the notification type we needed, so we built a custom path. Users never see that complexity, which is the point.

Offline handling was the other area that required more thought than expected. Couples live in different time zones. One partner might be traveling. Memories need to upload reliably regardless of connection state. A persisted queue with retry logic and automatic cleanup handled that cleanly without exposing any of it to the user.

What I'd do differently

I underestimated how much the first week determines everything. The habit either forms in the first seven days or it doesn't. Every onboarding decision, every day-one notification, every first-prompt selection feeds into that window.

We got it mostly right, but it took longer than it should have to understand the retention shape and work backwards from it. If I were starting over, retention-driven onboarding design would have been the first thing on the roadmap, not something shaped in response to early user data.

The other thing I'd revisit is pairing friction. The flow for inviting a partner to join is functional, but it's not delightful. There's an opportunity to make that moment feel like the beginning of something rather than a setup task, and we haven't fully gotten there yet.

Lessons for founders building emotionally-driven products

Know what you are optimizing for and hold it consistently. Elumi optimizes for two minutes of genuine connection per day. Every product decision, from the unlock mechanic to the notification copy to the paywall placement, points at that goal. When a decision doesn't point at it, the answer is no.

Emotional tone is a product decision, not a copywriting task. You can't A/B test your way to warmth. The register of the product has to be decided early and enforced across every surface. Changing it later means rewriting everything.

The simplest mechanic is often the hardest to design. The unlock is one if/else condition. The reasoning behind it took weeks. Don't mistake implementation simplicity for design simplicity. The easy things to build are often the hardest to get right.

Retention shapes everything else. If you're building a habit app, understand your retention curve before you finalize anything about the onboarding. The product decisions that matter most are the ones that happen in the first seven days.


Elumi is available on the App Store. The product decisions described here are what runs in production with real couples using the app every day.

Building a habit or wellness product?

Emotionally-driven products require a different kind of engineering judgment: one that holds product quality and user experience together from the first line of code. If you're building in this space, let's talk.

Book a Discovery Call