Unfiltered

An open source, privacy-first search engine for war & conflict journalism. No ads, no tracking, no algorithmic bias. Built with Python, Flask & TF-IDF.

Description

Unfiltered — Open Source War & Conflict Search Engine

Unfiltered is a privacy-first, open source search engine built entirely from scratch — no external APIs, no third-party search services, no data collection.

The Problem

Google buries war and conflict journalism behind ads, SEO manipulation, and algorithmic bias. Independent frontline reporting from sources like Bellingcat, The Intercept, Al Jazeera, ProPublica, and Human Rights Watch gets drowned out by sponsored content.

The Solution

Unfiltered crawls, indexes, and searches independent war and conflict journalism using a custom-built TF-IDF search engine written in pure Python. Every component — the web crawler, the indexer, the search algorithm, and the UI — was built from scratch without any external search APIs.

How It Works

  • Custom web crawler respects robots.txt and crawls 20+ independent journalism sources

  • TF-IDF inverted index built in pure Python with weighted title and description scoring

  • Flask backend serves search results with zero logging, zero cookies, zero tracking

  • Newspaper-style frontend with navigation, sidebar, and privacy audit modal

Privacy Guarantees

No query logs. No cookies. No IP storage. No user profiles. Every search runs in memory and is immediately discarded — nothing to subpoena.

Tech Stack

  • Python

  • Flask

  • BeautifulSoup4

  • TF-IDF

  • HTML/CSS/JS

Key Feature

No API

Demo Video

unfiltered-vid

Live Demo:

unfiltered

Source Code:

unfiltered-repo

Issues & PRs Board
No issues or pull requests added.