From a user Soul has never met to two people having coffee, in about forty seconds. The components are the real ones: the agent, the profile it writes and the deck are the same code your users would get. What is scripted is the passage of time, because the alternative is asking you to come back on Thursday.
Their app, doing its job
Soul is installed and silent. No tab, no badge, no row in a menu. Until the partner calls present(), their product is exactly the product they shipped.
The agent pulls the signal they already have
Two questions, not an onboarding flow
It writes down what it understood
In their city, not on the internet
It makes the introduction
One question, and they answer it
The other person says yes too
They meet. In person, once.
Every company whose users wear something has had this idea. Three of these are things a good team could build and would then own forever. The first one they cannot build at all.
Matching needs density in one metro on one morning. A company with two hundred thousand users has maybe forty in Brooklyn who are free before work and would actually get on. Soul pools across every partner at once, so a runner from a ring app meets a runner from a music app. That is the one part of this you cannot build in house, because in house is the constraint.
Double opt-in, a decline that is silent and permanent, a decline that does not burn the pair when it was only the timing, no identity before both agree, no route to contact anybody you have not both accepted. Getting one of those wrong is not a regression, it is somebody having a bad time because of your app.
An introduction needs a real place that is free, public and walk in, at an hour both people can make, with a spot precise enough that the first to arrive does not have to ask a room of strangers. That is supply work, in every city, forever.
It is a quarter of a roadmap, and if it does not work you own an abandoned social feature inside a health app. Two lines and a webhook, or a team and a year.