DEV Community

Joe Garrett
Joe Garrett

Posted on

I built a search engine for $22/month. Here's the stack.

I spent 25 years in IT, including building federal systems that processed millions of loans on servers older than some junior devs. When I needed search for my own projects, I looked at the options:

Elasticsearch: Complex, expensive, requires a cluster
Algolia: Great product, $500+/month at scale
Meilisearch: Better, still needs infrastructure

So I built my own.

The Stack
Database: SQLite + FTS5
Ranking: BM25 + 384-dimension vector search (hybrid)
Vectors: sqlite-vec extension, Xenova/all-MiniLM-L6-v2
Network: P2P mesh with RSA identity, WebSocket
Storage: 930 bytes per doc

Total infrastructure: 2 servers, $22/month.

Currently indexing 50k+ pages and climbing.
Why SQLite?
Everyone says SQLite doesn't scale. They're wrong. FTS5 with BM25 ranking handles millions of documents. Add sqlite-vec for vector similarity and you've got hybrid search without Pinecone or Weaviate.

No cluster. No ops. It just runs.

Demo
https://www.qwikwit.com
Patent pending. Happy to answer architecture questions.

Top comments (0)