← All projects
সত্যQR (ShottoQR)
JH26-R06ZTellTheTruth · Dhaka · 3 members · Spirit of July
A platform preserving the verified history of Bangladesh's July Uprising through explainable evidence verification, transparent justice tracking & a trusted digital archive for future generations
The problem
In July 2024, Bangladesh lived through a national uprising, and almost immediately, the truth of it came under attack. Fake and edited images spread faster than real ones. Real evidence of harm got mixed with old photos, staged screenshots and manipulated videos. This got worse during the internet shutdown, when nobody could check anything in real time.
Two groups paid the price. Victims and their families, who had real evidence but no way to prove it, and no way to see if their case was even being looked at. Journalists, researchers and the government itself; who had no trusted tool to separate a genuine photo from a fake one, and no public system to show citizens that justice was actually moving forward.
This matters right now because history is being written in these weeks and months - if it isn't protected with real evidence today, it can be rewritten or denied tomorrow. And it will matter again, in the next election, the next disaster, the next crisis: because Bangladesh still has no permanent, trusted, offline capable system to protect truth and track justice. This is relevant to the track because it turns a real, ongoing national wound into solvable infrastructure.
The solution
ShottoQR (সত্যQR) is a truth and justice infrastructure built in three connected layers, designed to be real enough for the government to run today and strong enough to represent Bangladesh internationally tomorrow.
Layer 1: Verification Engine. Any image can be uploaded and checked using 7 independent forensic signals: ELA (edit detection), EXIF metadata, blur consistency, histogram analysis, JPEG blockiness, rotation/crop artifacts and duplicate image detection. Instead of a black box "fake or real" answer, the system shows an Explainable Integrity Score, exactly which signals triggered and how much each one affected the result. This is technical execution that a journalist, a judge, or a government reviewer can actually trust and explain to others, not just believe blindly.
Layer 2: Cryptographic Seal. Every verified image is sealed with a SHA-256 hash-chain and a real Ed25519 digital signature, the same cryptography used in secure government and banking systems. The proof travels with a QR code that can be verified completely offline: no server, no internet, no database required. This is what makes the system resilient: it works during an internet shutdown, in low bandwidth rural areas, or on the cheapest available phone. One click turns any sealed evidence into a court ready PDF certificate: with the hash, the signals, the signature, and the custody trail - ready to be filed by an investigator, a court or an international human rights body.
Layer 3: Justice Tracker. Every case moves publicly through five stages: Report, Investigation, Medical Support, Compensation, Final Resolution, without ever collecting a victim's name or national ID. Anyone can report anonymously. A National Transparency Dashboard turns this data into a live, ministry grade view: verification rates, district level case load and a "Transparency Index" the government could be publicly accountable to. A Digital Memorial Wall keeps the human side alive: named and unnamed martyrs remembered with candles, flowers and tributes.
Everything is bilingual (Bangla/English), installable as an app and runs on ordinary hardware with no GPU or paid API: built so it can scale from one hackathon demo to a real national system and later stand as an example other countries look to when protecting their own history.
Tech stack
Backend: FastAPI (Python), SQLAlchemy + SQLite
Forensics: Pillow, imagehash (perceptual hashing), exifread, custom ELA/histogram/blockiness algorithms
Cryptography: PyNaCl (Ed25519 digital signatures), SHA-256 hash-chain
PDF generation: ReportLab
QR codes: qrcode + jsQR (offline scanning)
Frontend: vanilla HTML/CSS/JS, PWA (Service Worker + Web Manifest)
Fonts: Noto Sans Bengali, Baloo Da 2, Anton (Google Fonts)
AI tools used (section 5 disclosure)
Claude (Anthropic): architecture, forensics logic, PDF generation, dashboard, code review