Building Ukweli: A Tamper-Proof Witness for Justice

Inspiration

The inspiration behind Ukweli came from the heartbreaking reality unfolding in Kenya — a surge in police brutality, enforced disappearances, and state-sponsored abductions. Citizens trying to speak up are often silenced. Evidence is deleted. Families are left without support.

I wanted to build something that could preserve the truth and protect the people. An app that turns a smartphone into a tamper-proof witness, and a platform where communities can mobilize funds for legal aid and victim support.

Ukweli means “truth” in Swahili — and this app is built to defend it.


The Stack

  • Frontend: Bolt — a Web3 app framework using Next.js
  • Blockchain: Algorand — for immutable media + location proofs and DAO coordination
  • Storage: Encrypted media (photo/video) + metadata (e.g. GPS)
  • DAO: A decentralized autonomous organization to pool funds and vote on disbursements to support victims and families

My Learning Journey

This was my first time using Bolt, and also my first real experience with Next.js. The learning curve was steep — figuring out routing, how Bolt integrates with wallets, and how to securely upload and encrypt data was challenging. But I pushed through it.

Every bug I fixed felt like one step closer to protecting someone’s truth.

I learned how to:

  • Set up a Next.js Web3 app using Bolt
  • Interact with Algorand smart contracts
  • Encrypt and handle media and location data on the client
  • Store proofs immutably and verifiably
  • Design a basic DAO flow (propose → vote → fund)

How Ukweli Works

  1. Capture: User records video or takes photos — GPS location is embedded
  2. Encrypt: Data is encrypted client-side and signed
  3. Upload: Encrypted file + hash are uploaded and stored immutably
  4. Verify: Anyone can verify media integrity and source
  5. DAO: Users can donate or propose disbursements to victims and their families
  6. Transparency: Voting and disbursements are transparent and on-chain

The Mission

Truth is powerful — but only if it survives.

Ukweli aims to:

  • Preserve evidence even when phones are destroyed
  • Enable anonymous and safe submission of proof
  • Allow communities to fund justice directly through decentralized governance

What’s Next

  • Build a mobile-first version for faster field use
  • Improve encryption UX (auto keys, key backup)
  • Add panic mode to hide or auto-upload evidence
  • Partner with legal aid orgs and journalist networks
  • Expand DAO governance options and multilingual support

Final Thoughts

This app is just a start. It's not perfect. But it's a tool — a shield — in the hands of those who need it.

Ukweli is for every citizen who dares to document the truth. And for every family who deserves justice.


Built With

  • next.js
Share this project:

Updates