Hacker News Semantic Search
A semantic search engine over 10,000 Hacker News stories, built without any managed search infrastructure. The search layer runs hybrid retrieval — dense vector search via sentence-transformers (BAAI/bge-base-en-v1.5) against a local FAISS-CPU and IndexFlatIP index, fused with in-memory BM25 using Reciprocal Rank Fusion. This means exact token matches and semantic paraphrase matches both surface correctly, covering each other's blind spots. The indexing pipeline enriches each story's embedding with its top-ranked HN comments via the Firebase API — critical since most HN stories are bare links with no body text. All embedding happens offline; the live server embeds one query string per request and nothing else, keeping it viable on minimal CPU hardware. No Elasticsearch, no OpenSearch, no Pinecone, no paid APIs. Just rank-bm25, FAISS-CPU, sentence-transformers, and a 5-line RRF implementation that outperforms score-based fusion without any tuning.