SuperIntro

Behind the scenes

What happens when you post

You share a need or an offer. SuperIntro looks for the people who complement it, gets a yes from both sides, and sends a warm intro email. Here is the whole journey, in five steps.

You
Post
Match
Opt in
Intro

01

You post a need or an offer

A post is the atomic unit here: something you need, or something you can offer, aimed at everyone, your connections, or a private group. Your profile is just your live posts. Add your LinkedIn and the first draft writes itself: Exa reads the public page, Gemini turns it into needs and offers you can edit.

Exa LinkedIn enrichment · Gemini 3.1 Flash Lite extraction · structured JSON

02

Every post becomes a vector

The moment a post is saved, it is embedded into 768 numbers that capture what it means, not just what it says. That is why search and matching feel instant: reading is pure math. The same semantic search runs live as you type in the composer.

gemini-embedding-001 · 768 dimensions · embedded at write, never at read

03

We look for complements, not clones

Most networks match people who look alike. SuperIntro scores every pair both ways: how well their offer meets your need, plus how well your offer meets theirs. The home feed is personalized the same way, blended toward offers and diversified across authors, so the top of your feed is people who can actually help.

bipartite need↔offer scoring · cosine similarity, both directions summed

04

Both sides opt in, then the intro goes out

A reach-out is a request, never an instant connection, even a QR scan in person. Only when both people say yes does a connection form, and a warm intro email lands in both inboxes with an AI-drafted opener you can rewrite or clear before it sends.

double opt-in · Resend from intros@superintro.app · Gemini-drafted opener, you edit

05

The loop keeps running

Every other week, a digest emails each member the people they could help and the people who could help them, deep-linked to the posts where one tap starts an intro. After you meet, a private rating feeds back into what we surface next.

Vercel Cron · stateless week-parity schedule · RFC 8058 one-click unsubscribe

Outcome A

Connected

The intro email is sent and an in-app chat opens, realtime over Firestore.

Outcome B

Not yet

Your post keeps working for you, in semantic search and in every future digest.

What it runs on

Notes for engineers

  • · Firestore rules are deny-all: every write goes through the server via the Admin SDK. Realtime chat reads are the only client reads, gated per-thread by membership.
  • · Embeddings are computed at write time, never at read time, so read paths do pure cosine math.
  • · Rate limits and a daily spend budget guard every endpoint that touches paid AI or email.
  • · The biweekly digest cron is stateless: week parity decides whether to run, no stored state.
  • · LinkedIn sign-in is a server-side OAuth code flow that mints a Firebase custom token, not native OIDC.
  • · Images live in a private cloud bucket, served through an authorizing proxy route.

Architecture overview · informational. More about the why on the About page.

Feedback