Back to projects

    Case Study

    Board Coffee Match

    Year
    2026
    Services
    Product, AI Engineering, Design

    AI-powered networking platform that matches members of business communities for high-value 1-on-1 coffee meetings.

    Board Coffee Match: AI networking platform
    Next.jsSupabaseOpenAI embeddingsClaudeTelegram Bot API

    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:

    1. Embeddings (OpenAI) turn each member's profile and answers into vectors, pre-filtering thousands of possible pairs down to the strongest candidates.
    2. 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.

    Let's talk about your product and growth goals.