← All projects
LowKey
JH26-FDR0Team Z · Rajshahi · University of Rajshahi · 3 members · Crisis Tech
A live map where trusted coordinators broadcast movement locations across many places at once, so no single point ever exposes the whole picture.
The problem
During moments of mass mobilization like the July Revolution of 2024 a movement's greatest strength, its scale, is also its greatest vulnerability. When protest activity is visible in one location, it becomes trivially easy for authorities to monitor that spot, block surrounding roads, cut connectivity in that specific area, or disperse the crowd before it grows. Most coordination today runs through centralized channels: a single Facebook event page, one WhatsApp group, one admin account. This creates exactly one point of failure. Track that admin, compromise that group, or shut down the internet in that neighborhood, and the entire movement's location and plans are exposed at once.
The July 2024 internet shutdowns made this painfully concrete when centralized platforms went dark or were watched, coordination didn't just slow down, it collapsed entirely. What movements actually need is the opposite structure: the ability to be active in many locations simultaneously, in a way that stays illegible to anyone trying to monitor it from the outside. Not a single visible target, but many small, independent signals visible only to the people who are actually meant to see them, and to no one else, including whoever is watching.
The solution
We built LowKey a live coordination map that decentralizes visibility instead of centralizing it.
How it works: A small, verified group of coordinators invite-code gated, no name, phone number, or email required can drop a live "point" anywhere on the map in seconds. Each point carries a status (gathering, moving, blocked, needs supplies, danger) and an optional short note. The public map is open to anyone, requires no signup, and shows every currently-active point across the city at once not a feed, not a group chat, just a live snapshot of what's happening everywhere right now.
The core design decision is what the map deliberately doesn't keep. Every point automatically expires after a set window (1, 3, or 6 hours), so the system never accumulates a history of who gathered where and when. There is no login tied to identity, no per-user tracking, and no record of which coordinator posted which point beyond a shared code that isn't itself stored on the point. A two-tap wipe button can clear the entire board instantly if the situation demands it. If the database were ever seized, there would be nothing in it that could be used against the people who used it.
Technically, it's a React and Leaflet frontend with a swappable real-time backend: it runs instantly in a local demo mode with zero setup (syncing across browser tabs), or flips to Firebase Firestore with one environment variable for genuine cross-device, real-time sync new points appear on every connected phone within seconds, with no polling.
The result is structural, not just procedural: a movement active in ten locations at once no longer has ten points of surveillance risk it has none, because no single point, admin, or device ever holds the whole picture. Anyone watching one coordinator, one phone, or one neighborhood only ever sees a fraction of what's actually happening, while the people who need the full picture the protestors themselves get it in real time, safely and anonymously.
Tech stack
React + Vite frontend
Leaflet.js mapping — CARTO dark tiles, no API key
Firebase Firestore — optional real-time backend
Invite-code coordinator auth — no personal identity
Anonymous public access
AI tools used (section 5 disclosure)
Antigravity , gemini , claude , Ai Studio , GPT-5