Projects
Project

Local Search Engine

Built offline during the Tigray blackout: search over mirrored websites

2021 - 2023djangosearchresilience

When the internet was cut off in Tigray, I didn't just lose npm install. I lost search itself. No Google, no Stack Overflow, no way to look anything up. But I still had things to build and problems to solve. What I did have were mirrored copies of websites saved locally, from before the blackout. The knowledge was here; I just had no way to search it.

The Story

So I built my own search engine. If I couldn't reach the internet's search engines, I'd make one that ran entirely offline over the pages I already had. It became a small Django web app: an indexer walks the mirrored website content and builds a searchable index, and a plain search box lets me query it and jump to the right page, the same motion as a real search engine, just pointed at a local mirror instead of the open web.

For however long the connection stayed dark, that little box was my search bar. It's rough and it's v1, but it did the one job that mattered: it gave me a way to find things again when there was no internet to find them on.

How It Works

  • A Django application serving a search interface over locally-mirrored websites
  • pageIndexer.py: walks the mirrored page content and builds the searchable index
  • Query the index through a simple web UI and open the matching local page, searching with no connection to the outside world

I pushed it to GitHub as connectivity began returning to the region, which is why the repository dates to early 2023 even though the need for it came well before.