Case Study
Board Coffee Match
AI-powered networking platform that matches members of business communities for high-value 1-on-1 coffee meetings.

The challenge
Closed business communities have a recurring problem: members don't know who they should meet. Random networking wastes everyone's time, while the most valuable introductions - a founder and the exact investor they need, a buyer and the right supplier - never happen because no one can see the whole graph.
What we built
Board Coffee Match runs monthly matching rounds. Members fill a short survey about their goals, expertise, and what they're looking for, and the platform generates 1-on-1 coffee-meeting recommendations, delivers them through a Telegram bot, and tracks whether the meeting actually created value.
- Survey intake and member profiles
- A two-layer matching engine (see below)
- Telegram delivery with accept / decline / schedule
- Admin dashboard to run rounds, review and edit pairings, publish results
- Post-meeting feedback loop to measure real outcomes
The role of AI
Matching is not a simple similarity search - similarity actually produces bad networking ("you're both in IT in Kyiv"). The engine works in two layers:
- Embeddings (OpenAI) turn each member's profile and answers into vectors, pre-filtering thousands of possible pairs down to the strongest candidates.
- Claude ranking then judges each candidate pair against a strict rubric - rewarding genuine complementarity (buyer↔seller, investor↔founder, mentor↔mentee), rejecting direct competitors, and scoring the concrete value to each person. Every match comes with a short human explanation and three conversation starters.
The whole pipeline is chunked to run reliably for 100+ member rounds within serverless time limits, persisting intermediate state so nothing is lost.
Engineering notes
- Two layers because neither works alone. Embeddings are cheap and scale to every possible pair but cannot tell complementarity from similarity. Claude can judge complementarity but cannot be run over thousands of pairs per round. The pre-filter exists so the expensive judgment is spent only where it matters.
- Chunked to survive serverless limits. A 100+ member round exceeds any single function timeout, so the pipeline persists intermediate state and resumes, which also means a failure costs one chunk rather than the round.
- The admin can override the model. Every pairing is reviewable and editable before publication. A community organiser knows things the survey never asked, and a system that cannot be corrected gets abandoned after its first bad round.
- The feedback loop is what makes it improvable. Post-meeting responses turn matching from an opinion into something measurable, and they are the only source of truth about which match types actually produce value.
The result
Members get introductions that feel hand-picked, with a reason and an icebreaker attached - and the community gets data on which match types actually drive business value.
Stack: Next.js, Supabase, OpenAI embeddings, Claude, Telegram Bot API.
What we did here
Other work worth a look

AI Brain
A global context brain that distills the team's conversations into a structured, queryable knowledge base - so every AI agent starts a task with full context.

AI SMM Automation
An AI content pipeline that turns internal team wins into brand-aligned social posts and publishes them across platforms.

Pulzio
Anonymous employee feedback platform with an AI assistant that analyzes team mood and recommends concrete actions.