How I built this

From attendee list to live search,
in a weekend.

  1. 01
    Attendee list

    Scraped Brella

    Started with the public attendee directory on Brella — ~2,000 names with roles, companies, and (for some) a LinkedIn URL.

  2. 02
    LinkedIn — pass 1

    Scraped LinkedIn URLs

    Where Brella had a LinkedIn URL, I ran it through an Apify scraper to pull the canonical profile — headline, about, experience, location.

  3. 03
    LinkedIn — pass 2

    LinkedIn search

    For everyone else, two queries per attendee — “Name + Sydney” and “Name + Company” — kept the top-confidence match. ~95% hit rate; the remaining ~5% had no clean match and stayed Brella-only.

  4. 04
    Storage

    Local SQLite

    Loaded the merged dataset into a local SQLite database. File-based, fast, and queryable straight from Node — no servers, no migrations.

  5. 05
    Search

    Hybrid RAG + rerank

    Your prompt fans out to keyword and semantic retrieval, then an LLM reranks the top candidates against your intent. That ordered list is what you see.

← Back to search