saikat1919 GitHub avatar

July_Hackathon_Jonaki

saikat1919

Jonaki is an Android app that enables messaging, SOS alerts, and offline disaster mapping over a peer-to-peer mesh network using Bluetooth and Wi-Fi, requiring no internet, SIM, or cell towers.

Stars

7

7-day growth

No data

Forks

1

Open issues

0

License

No data

Last updated

2026-07-30

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It directly addresses the critical need for communication during internet blackouts, as experienced during the July 2024 revolution in Bangladesh, and implements a store-and-forward mesh that works even when phones never directly meet.

Who it is for

  • People in disaster or crisis zones with no network coverage
  • Activists and protesters in regions where internet is shut down
  • Relief and humanitarian workers operating in remote areas
  • Developers and researchers interested in mesh networking and offline communications

Use cases

  • Sending emergency SOS with location and details, prioritized over all other traffic
  • Exchanging end-to-end encrypted personal messages through a multi-hop relay
  • Viewing and contributing to offline community maps with reports of roadblocks, shelters, medical camps, etc.
  • Carrying messages between disconnected areas by physically moving through them

Strengths

  • Fully decentralized: no servers, no internet, no SIM, no towers required
  • Multi-hop relay with hop count display, proven by a four-node simulation test
  • E2E encryption for personal chats (X25519 + AES-GCM) with key pinning to prevent impersonation
  • Prioritized SOS messages that are relayed ahead of all other traffic with full-screen alerts

Considerations

  • Android only; iOS is not supported
  • Requires granting Bluetooth, nearby devices, and location permissions (location is never sent but Android mandates it for device discovery)
  • No forward secrecy; long-term keys are used, and SOS messages are plaintext by design

README quick start

Jonaki · জোনাকি

Messaging, SOS and disaster mapping that work when the network is gone.

Built for the Crisis Tech track of a hackathon honouring the July 2024 revolution in Bangladesh — when the internet was shut off and people could not reach each other.

Jonaki means firefly. One light is almost nothing; a field of them lights the way. That is the whole idea: a phone alone is useless in a blackout, but phones together carry each other's messages.

What it does

No internet. No SIM. No tower. No servers. Phones talk to each other directly over Bluetooth and Wi-Fi, and every phone relays for every other phone.

  • Global chat — reaches everyone the mesh can reach, including people several hops away that you were never near.
  • Personal chat — end-to-end encrypted. Relays carry the message but cannot read it.
  • SOS — one button. Sends emergency type, your location, a note and your battery level, relayed ahead of all other traffic. Full-screen alert on every phone that receives it, plus an "I'm safe" cancel.
  • Offline map — real street tiles bundled in the app, with community reports: road blocked, fire, shelter, medical camp, food, water, charging, danger. Reports gain confidence as other people confirm them.
  • Store and forward — a message with nowhere to go waits. When you walk within range of someone, it goes. Someone travelling between two cut-off areas carries messages between them without doing anything.

How the mesh works

Everything is the same envelope wearing a different costume: chat, SOS, map reports and confirmations all ride one store-and-forward pipeline.

   compose ──► sign (Ed25519) ──► store ──► offer to peers ──► relay
                                    │
                    dedup by id ────┤
                    ttl bounds hops ┤   SOS outlives its hop budget
                    expiry deletes ─┘   until it expires

When two phones meet they exchange lists of message IDs, then send only what the other is missing, highest priority first — SOS before map reports before chat.

Multi-hop is real: a message from A reaches D by being carried through B and C, and the app shows the hop count so you can see it happened.

Security, stated honestly

  • Every message is signed (Ed25519). Forged or altered messages are dropped and never relayed.
  • Personal messages are **end-to-e

Related repositories

Similar projects matched by category, topics, and programming language.

v-modal
v-modal GitHub avatar

vmodal_sdk_flutter

VModal is a Flutter SDK that adds multimodal video search and streaming uploads to Android and iOS apps.

Dart
1,174
xuanli199
xuanli199 GitHub avatar

duoduo

Duoduo Learn is a Duolingo-style Flutter app that lets users create custom quiz decks, generate questions from text or images using AI, and learn through gamified daily challenges.

Dart
67
shohanur55
shohanur55 GitHub avatar

clean_architecture_template

A production-ready Flutter template implementing Clean Architecture with built-in authentication, theming, localization, and modern state management.

Dart
8