How I built this
From attendee list to live search,
in a weekend.
- 01Attendee list
Scraped Brella
Started with the public attendee directory on Brella — ~2,000 names with roles, companies, and (for some) a LinkedIn URL.
- 02LinkedIn — 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.
- 03LinkedIn — 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.
- 04Storage
Local SQLite
Loaded the merged dataset into a local SQLite database. File-based, fast, and queryable straight from Node — no servers, no migrations.
- 05Search
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.