MediaWatch
During every major crisis — conflict, earthquake, flood, political upheaval — old footage resurfaces with new captions. The same warehouse fire in China has been "missile strikes on Tel Aviv", "Iran's attack on Israel", and "Russia's invasion of Ukraine". The images are real; the context is fabricated. Fact-checkers debunk the same clips over and over, by hand.
MediaWatch automates that provenance tracking. Every image, video, or audio file entering the system gets a similarity-preserving fingerprint using the International Standard Content Code (ISCC, ISO 24138:2024) — think facial recognition rather than a passport number: crop it, re-compress it, watermark it, and the system still recognises it. Fingerprints go into a vector database searchable by Hamming distance, building a living record of when a piece of media first appeared, where it resurfaced, and in what context.
An analyst can drag an image onto the dashboard and instantly see its full history — every sighting, platform, account and caption — plus a cluster explorer showing families of related variants, and an event monitor that flags media from one event appearing in the feed of another: the recycled-footage signal.
Runs entirely on your own infrastructure — no data leaves your machine.
Stack: Python, FastAPI, ISCC SDK, Milvus, PostgreSQL, MinIO, Next.js, Docker Compose.
Read the full write-up: Every Conflict Produces the Same Footage — Twice. If you work in journalism, OSINT, or media integrity, I'd welcome collaborators and testers — get in touch.