3 May 2026 · product · philosophy
Notes on building a quiet product
Most consumer software is built to be noisy. Notifications, streaks, gamified loops. PotentialSpouse is the opposite. Some thoughts on how, and why.
There is a default mode for consumer software in 2026 and we have all internalised it. Push notifications, daily streaks, celebratory animations when you complete an action, weekly recap emails, gentle nudges if you have not opened the app for three days. The pattern is so universal that its absence reads as a bug. A product that does not chase you must not love you.
We made a different choice. PotentialSpouse is built to be forgotten about. Open it when you want to. Close it for two weeks. We will not chase you. There is no streak counter. There is no weekly digest. There is no “five new matches!” email — there are no emails at all, in fact, because we never asked for your email address.
This essay is a few notes on what that choice has meant for the shape of the product.
We send one notification, and only when something has happened
The notifications page exists. The bell icon in the navbar exists. Both are populated only when the system has actually something to tell you that you’d want to know:
- A new user, who matches your filters bidirectionally, became visible.
- Someone sent you a connection request.
- Someone you sent a request to has answered the questions you asked.
- A message you sent was answered.
That is the entire taxonomy. There are no marketing notifications. There are no engagement notifications. There is no “you have not visited /wall in seven days” notification. The product does not have a daily-active-user metric on the wall above the engineering team’s desk.
If a thing has happened, you find out. If a thing has not happened, the platform does not invent reasons to ping you.
The wall does not refresh while you are looking at it
If a new compatible user becomes visible while you are sitting on your wall page, you do not get a real-time interrupt. The wall loads when you mount it; it stays put while you read it. If you want fresh results, you reload the page.
This is technically a missing feature. We could wire a PubSub subscription that pushes new candidates to the wall while you read it. We chose not to, because the implicit message of “new! look at this!” while you are trying to read what is in front of you is exactly the loop we are trying to avoid.
If, in the future, a user requests a “ping me when new matches show up” toggle, we will probably build it. Default-off, opt-in, silent unless requested.
We do not show you any number that does not directly help you
Open the homepage of an incumbent dating app and count the numbers on screen: badge counts, mutual-friend counts, profile view counts, percentage compatibility, response rate, league rank. Some of these are useful; most are dopamine.
The numbers PotentialSpouse shows you, exhaustively:
- The count of compatible candidates on your wall, and only when you visit the wall.
- The count of unread notifications, on the bell icon.
- The count of messages in a conversation, in the chat list.
That is it. We do not show “profile views.” We do not show “how many people have viewed your profile this week.” We do not show your compatibility percentage with anyone, because — as we wrote previously — we do not compute one.
Most of the engineering work is invisible
A surprising amount of the codebase is dedicated to not doing things. Not surfacing a field at the wrong reveal stage. Not showing a notification you have already seen. Not double- emailing (this one is easy, since we do not email at all). Not keeping you in the app after you have found someone — at which point we hope you delete your account, and the account-deletion flow is exactly two clicks from the settings page.
You can see this in the metrics we track for ourselves. We do not track time-on-app. We do not track session length. We do track the rate of profile deletions, because that is the closest signal we have to “the product worked.”
This is unusual for a consumer business. It is also the only way the privacy contract makes sense. A product whose business model depends on you staying logged in cannot honestly promise to disappear when you have found someone. We chose a model that does not depend on you staying.
The point
A quiet product is harder to grow. It does not viral. It does not streak. It does not have a hooked-up retention curve.
But it leaves you alone. And the kind of person who is using a matchmaking platform — who is, by definition, in a vulnerable moment, putting their hopes onto a piece of software — that person has been used by enough loud products. The least we can do, for the year or two they need us, is keep our voice down.
When you are ready, the product is there. When you are not, we are quiet.
That is the promise.
Ready to start?
Build a profile. See who matches.
No photos, no real names — just the dimensions of compatibility that actually matter.
Get started