Every modern web app eventually hits the moment it needs search. And almost universally, the playbook looks the same:

pip install elasticsearch whoosh fastapi uvicorn nltk click

Enter fullscreen mode

Exit fullscreen mode

A few minutes later you have an 80MB virtual environment, a daemon process running somewhere, network socket overhead, and a software supply chain that just grew five links longer — all to search a few hundred markdown files or API docs.