An organizer with four hundred attendees cannot introduce people by hand, and the usual alternative — a vague "AI matched you" badge with no explanation — is worse than nothing, because neither attendee trusts it enough to send the first message. EventfullyManaged takes the other route: the engine that ships today is fully deterministic, and every match it writes carries the sentence that justifies it.
Attendees opt in with a networking profile that records their interests, what they are looking for, their industry, their role, and their visibility. The organizer opens Networking, picks an event, and runs Generate matches. The engine scores every pair of opted-in profiles: shared interests count most, a complementary fit — where one person is looking for exactly what the other lists as an interest — counts next, and a shared industry adds a smaller bonus. The result is capped at 100, and a pair with no overlap at all scores zero and is never written to the database, so the match list never fills up with noise.
What comes back is a ranked list where every row reads like something a human would say: "Shared interests: developer tooling, observability · Complementary fit: hiring · Same industry: SaaS." An attendee-facing query does the same scoring for one person and returns their top suggestions. The engine refuses to run at all on an event with fewer than five opted-in profiles, because forcing pairings out of a tiny pool produces confident-looking nonsense. Profiles set to private are excluded inside the engine itself, not filtered out in the interface afterwards — opting out means never being scored.
A suggestion stays a suggestion. Matches are created with the status "suggested"; the engine never books a meeting on anyone's behalf, and re-running generation deliberately leaves the status alone, so a match an attendee has already accepted or declined is never quietly reset. Booking the 1:1 is a separate, human action — and when a booking page is supplied, that meeting mirrors into the shared calendar service.
Being honest about what this is: there is no language model behind these scores, and the code says so in its own comments. The shared multi-model AI runtime this platform will eventually use is not built yet, and rather than fabricate a model-authored "reason" with nothing behind it, the engine ships an explainable scorer against the same interface. When the model-backed version lands, it fills in the same score and reason fields, and nothing above it has to change.
Illustrative scenario, not a real customer. The matchmaking engine described here is implemented in the product today.
Ready to make this your story?



