Social good · Flutter · Personal project
Sajag — reporting drug activity without ever revealing who you are.
A mobile app built so someone in a small community can report what they've seen — no name, no phone number, no account — and still trust that the app itself won't put them at risk if someone else picks up their phone.
The problem
People who could report drug activity often won't — because reporting has historically meant exposure.
A name attached to a complaint, a phone number on a form, a visible call to a hotline someone might overhear — every point of friction is also a point of risk. Sajag exists because the barrier to reporting isn't apathy, it's fear, and software can actually remove that barrier if it's built to.
What it does
Every feature answers one question: does this protect the reporter?
Completely anonymous
No sign-up, no name, no phone number. There's no account to trace back to a person because one is never created.
Evidence in one tap
A photo, a voice note, and a location — attached and sent in seconds, not a multi-page form someone has to fill out under stress.
Panic shake-to-lock
Shake the phone and the app instantly re-locks, no matter what screen is open — a physical reflex, not a menu someone has to find under pressure.
Works without signal
A report saves the moment it's created. If there's no connection, it queues and sends automatically the moment the phone is back online.
Track your own reports
Every report shows its own status — pending, reviewed, actioned — without ever requiring an identity to check it against.
Community announcements
Broadcast messages reach the app directly, so official updates don't depend on a WhatsApp forward chain.
Why it holds up
Privacy by architecture, not a promise
Evidence is encrypted and no identity field exists to leak in the first place — "we don't store your name" is a structural fact here, not a policy someone has to trust.
Designed for the moment of use
The shake gesture, the offline queue, the one-tap evidence flow — every decision assumes the person using this is nervous, rushed, and possibly being watched.
Built without a client, for the community
Not a commissioned build — a personal project aimed at a real local problem, built with the same rigor as anything sold to a paying client.
Want the real build story — the privacy decisions and the offline sync design?
Read the full case study