Inspiration
Most networking tools fail for the same reason: they match people based on who they are, not what they need right now. Boardy, LinkedIn, even warm intro platforms — they all work off static profiles. But intent changes weekly. A founder in fundraising mode needs very different connections than one who just closed a round and is hiring.
We built Kailos because the best introductions happen when two people need each other at the same moment — and no tool was capturing that.
What it does
Kailos is an AI networking agent that makes warm introductions between founders, developers, and investors based on live intent.
When you sign up, Kai — our AI agent — interviews you in a natural conversation: what you're building, what you need right now, who you want to meet, and how long that intent is relevant. Kai extracts a structured profile, runs semantic matching against other active users, and surfaces the right people at the right time.
When two users mutually accept a match, they receive each other's contact details and a warm intro email from Kai explaining exactly why they should meet — written specifically for that pair.
50+ live users. Real matches. Real intros.
How we built it
- Frontend: Next.js 14 (App Router), TypeScript, Tailwind CSS — deployed on Vercel
- Backend: FastAPI (Python) — deployed on Google Cloud Run
- AI Agent: Google Gemini with a custom agentic loop — interviews users, extracts structured profiles via function calling, and generates personalised match reasons
- Matching: Tag-based semantic scoring with pgvector (Supabase) — classifies each match as peer, complementary, or domain-based and generates context-aware match reasons
- Auth: Supabase Auth with Google OAuth
- Emails: Resend — mutual match notifications and warm intro emails sent from [email protected]
- Database: Supabase (PostgreSQL) with pgvector extension
Challenges we ran into
Getting the matching to feel human was the hardest part. Early versions returned technically correct matches that felt meaningless — two founders in "AI" with nothing specific in common. We had to build a connection-type classifier (peer / complementary / domain) and feed that context back into the match reason generation so Kai could explain why two people should meet, not just that they should.
The other challenge was keeping Kai on-rails. LLMs drift — Kai would sometimes narrate a search result instead of actually calling the tool, or close a conversation when it shouldn't. Getting the system prompt constraints right (especially around tool use sequencing) took more iteration than the matching logic itself.
Accomplishments that we're proud of
- Built and shipped a full-stack AI product solo in under a week
- 50+ real users signed up and completed the Kai interview
- Real mutual matches made — users have connected and responded positively
- Kai's match narrations feel genuinely personal, not templated
- The explainability layer: every match card shows why Kai matched you, not just who
What we learned
Intent-based matching is fundamentally different from profile-based matching — and much harder to get right. You need to capture not just what someone does, but what they need today, and match that against someone whose current state completes the picture.
We also learned that the introduction experience matters as much as the match itself. Getting Kai to narrate who someone is and why to connect — in the right tone, at the right moment — is what makes it feel like a warm intro rather than a cold lead.
What's next for Kailos
- WhatsApp / voice onboarding via Vapi — interview users where they already are
- Intent expiry and re-engagement — Kai proactively reaches out when your intent window is about to close
- pgvector semantic matching — move beyond tag scoring to full embedding-based similarity
- Group introductions — Kai identifies clusters of 3-4 people who should all meet, not just pairs
- Applying to YC S26
Built With
- fastapi
- google-cloud-run
- google-gemini
- google-oauth
- langgraph
- next.js
- pgvector
- postgresql
- python
- resend
- supabase
- supabase-auth
- tailwind-css
- typescript
- vercel