Back to work
0 → 1 ProductMobile AppiOS

Re — Communication for When the Internet Goes Dark

Re — Communication for When the Internet Goes Dark
Company
Personal Project
Duration
Feb – Apr 2026
Team
Solo
Role
Researcher, Strategist, Product Designer & Developer

A decentralized communication app that keeps people connected when governments shut the internet down. Built solo from field research to a launch-ready product.

Solo

Research, strategy, design & development

iOS

Native app, QA'd through Xcode Simulator

Pre-launch

Bound for both app stores plus resilient distribution channels

*

Some content shown in this project — screens, data, and events — is simulated for demonstration purposes. It does not reflect real product output or actual events, and shouldn't be taken as such.

What's Re?

Re runs on local Bluetooth mesh as the main routing layer. No need of central server, cell signal, ISP, your phones relay messages directly to one another. It's free, open-source, encrypted, offline-first. Every decision while building is tested against one question: does this make the tool more trustworthy to someone in the worst situations?

Reconnect

community and reduce isolation with validated information.

Restore

communication and coordination.

Regain

situational awareness for real-time safety decisions.

An intentional disruption of internet or electronic communications, rendering them inaccessible or effectively unusable, for a specific population or within a location, often to exert control over the flow of information.

Access Now, definition of an internet shutdown

See what's unfolding, in real time

A community-validated monitor that helps restoring information flow and situational awareness.

See danger on the map

The same reports plotted geographically, so people can route around danger instead of walking into it.

Report emergencies in seconds

A three-second hold opens a preset list of emergency types, allowing people to flag danger right away.

When the Internet Goes Dark...

Students protest against the internet ban in Rakhine, Myanmar. Photograph: Nyunt Win/EPA.

Shutdowns are a deliberate instrument of state control — ordered during protests, conflict, and elections to sever coordination and make events impossible to verify. They produce silence, rumors, and filling the vacuum with unverified claims exactly when real information matters most.

The scale around the world

Full-network shutdowns in 2025, from Access Now's Shutdown Tracker Optimization Project (STOP). Myanmar and Iran — the two largest — are this project's case studies.
32

full-network shutdowns across 14 countries in 2025 (Access Now STOP)

$19.7B

global economic cost in 2025 — a 156% jump over 2024

313

shutdown events across 52 countries — the most since tracking began in 2016

Those 32 shutdowns are the severe category — full-network shutdowns ordered by state authorities, including executive/local/state governments, judiciaries, law enforcements, and military. Affecting locations in more than 1 state, province, or region.

And the actual causes? Communal violence. Conflict. Elections. Information control. Political instability. Protests.

The human cost

53.7%

reported stress during the 2024 Bangladesh blackout (n = 2,085)

20%

reported extreme stress — worry and frustration dominant

Researchers call it digital deprivation. Beyond the emotional toll, shutdowns sever the practical channels people depend on when coordination matters the most.

*

Re responds to this gap — a fallback layer built to stay present when everything else goes dark.

Our Goal

Provide a reliable and secure communication system that helps communities maintain information exchange and coordination.

Connectivity

Develop an offline system that functions through local device-to-device mesh connectivity.

Awareness

Provide real-time awareness of threats, emergency signals, and safety conditions through structured reporting.

Trust

Reduce misinformation by developing a community-based validation system.

Designing for Non-Uniform Urgency

Re organizes its features around three tiers of emergency levels to reflect the non-uniform nature of crisis. During a shutdown, urgency and certainty evolve at different rates: some events require immediate action, while others develop gradually or remain probabilistic.

Re extends the impact framework into the product flow and information architecture, and structure the system around these tiers, rather than treating all information as equally urgent or equally verified.

Minutes to hours

Immediate Life-Threatening

Prioritized and supported features for emergency situations where every second could mean life or death.

Core question: "How do I survive the next few minutes?"

Hours to days

Critical Safety & Survival

The coordination communities need under sustained disruption — validating information, tracking non-lethal risks, organizing mutual aid.

Core question: "How do we stay safe and support one another?"

Days to weeks

Civic & Political

After survival is addressed, communities need tools to protect civic participation, accountability, and access to information.

Core question: "How do we preserve our rights, our voice, and our community?"

Local News Feed01 / 11

A crowd-sourced stream of nearby events, ordered by time rather than by engagement. Each entry carries where it came from and how many people have corroborated it.

Walkthrough clips across the app's core flows.

Why Local Mesh

A local mesh isn't a better VPN, it's slower, shorter-range, no internet. But it could be the only channel that's left after every other channel has been neutralized.

VPNs & proxiesCountered

The first response — but they route through state-controlled checkpoints, and traffic inspection blocks disguised connections. Iran's 2026 blocklist defeated virtually all of them.

Satellite & broadcastCountered

Shortwave radio, Starlink, diaspora TV. In 2025, satellite internet was blocked 14 times across seven countries — equipment jammed and seized.

Local meshWhat remains

A purely local, decentralized network — no gateway, no satellite, no internet provider involved. The one channel no blocklist can reach.

The mesh field

ToolApproachTractionThe catch
BridgefyBluetooth mesh+4,000% installs in Hong Kong, 20192021 cryptanalysis found no real authenticity or confidentiality
FireChatOpen-room broadcast100,000+ downloads, Hong Kong 2014No encryption or authentication at all
BitchatBluetooth mesh + Nostr; open-source, launched by Jack Dorsey, 2025~50,000 downloads in a day during Nepal's unrest, Sept 2025Unaudited, and publicly disclaimed by its own author
NoghtehaClosed-source Bitchat fork for Iran, full Persian support70,000+ downloads in three days pre-shutdown; ~370,000 totalClosed-source and opaque; Bitchat's own developer warns against it
MeshtasticLoRa radio, several km rangeOff-grid and preparedness communitiesNeeds dedicated hardware users can't get mid-crisis

This is super good in graphics and accessibility. This is fast and secure. But a problem: in my city no one has this app. This makes me alone in this app.

Noghteha user review (lightly edited for clarity), AppBrain

That review reveals the constraint of mesh network in one sentence. A mesh only works if enough people nearby are running it, it's a threshold Re has to design around.

Stakeholders

Ranges from users whose safety depends on Re to users whose actions bring Re into existence. Each group has distinct needs and features corresponded to it.

Product Iteration

Another point of view on the impact

The first product direction addressed the psychological, social, and human-rights impact of internet shutdowns. Three pillars of survival infrastructure, with concepts like Calm Mode, Safety Pulse, and an Evidence Vault.

PillarVulnerability Addressed
1. Psychological SafetyInformation isolation, helplessness, anxiety, digital deprivation
2. Social CohesionSocial paralysis, community fragmentation, isolation
3. Human Rights DefenseSuppression of documentation, impunity for state violence, rights violations
*

But 32 of the full internet shutdowns in 2025 were imposed during protests, unrest, or conflict — moments when communication needs are the most important, and may decide the outcome of emergency situations. The product direction shifted fast, toward emergency coordination and survival.

Reframed direction

Re became a fallback layer organized around three escalating emergency tiers — each surfacing only what's relevant to that moment, instead of one undifferentiated feed.

TimeframeImpact CategoryKey Communication Needs
Tier 1 — MinutesImmediate life-threateningEmergency response, evacuation, triage coordination
Tier 2 — HoursCritical safety & survivalFamily reconnection, humanitarian logistics, shelter
Tier 3 — DaysCivic & politicalPress freedom, protest coordination, abuse documentation

The cut features weren't bad ideas — they were the wrong *timescale*. Under Tier 1 conditions, nobody opens a breathing exercise. Reorganizing around escalating tiers turned a wish-list into a product with a spine.

Validating under stress

Re shapes the product's features, interactions, and interfaces to remain usable under server cognitive load during high-stress conditions. Tier 1 screens were run through simulated attention heat maps: does threat type, severity, and the report action pull the eye first or does someone scanning in a panic lose them in the noise?

Under the Hood

Re adapts Bitchat's open-source transport, routing, and security layers, and adds a new application layer built for this project.

Nostr sits beside this stack as an optional internet relay overlay — a fallback delivery path when a connection exists, and gone by definition during a full shutdown. Re's core function never depends on it.

Reaching the outside world

The people who most need a report from inside a blackout — family, responders, journalists — are on the internet; the people making it are on Bluetooth with none. A device with both radios can bridge the two. Crucially, bridging is off by default: running one reveals a device in the area has working internet, exactly what an adversary wants to find. It runs under a separate identity, so bridging never de-anonymizes the operator.

Rate-limiting the panic

Emergency reports are the most throttled channel in the app — one every twenty seconds — precisely because they matter most. A flood of false gunfire reports would saturate the mesh and destroy the corroboration count that makes the monitor worth trusting. Limits key on message content as well as sender, so rotating identities can't slip the same spam through.

How It's Built & Shipped

CategoryStack
Core PlatformNative iOS, Swift, SwiftUI
ArchitectureModel–View–ViewModel (MVVM), ChatViewModel*, MessageRouter*
Offline CommunicationBLE via BLEService*, Wi-Fi Aware peer-to-peer †
Internet FallbackNostr relay overlay via NostrTransport* (NIP-17 private DMs)
SecurityNoise Protocol (Noise_XX_25519_ChaChaPoly_SHA256)*, CryptoKit, KeychainManager*
Maps & LocationMapLibre-Native, OpenStreetMap MBTiles, Geohash, LocationStateManager*
Systems ServicesNWPathMonitor*, FileManager*, UIKit bridging
Dependency / Version ControlSwift Package Manager, GitHub
DistributionApple App Store, Google Play Store (planned — not yet shipped)

* Adapted from the open-source project Bitchat — Re's technical foundation. † iOS doesn't expose classic Wi-Fi Direct; the peer-to-peer path uses Wi-Fi Aware (iOS 26), requiring iPhone 12 or later.

The process

  1. 1

    Fork the foundation

    A fork of the open-source Bitchat repository, inheriting its protocol foundation for transport, routing, and encryption.

  2. 2

    Build with Claude Code

    Features built iteratively with Claude Code as the primary implementation tool — generating, refactoring, and debugging against the codebase.

  3. 3

    Review & QA in Xcode Simulator

    Each change prototype-tested in the iOS simulator; UI details requiring hands-on judgment are fixed manually.

  4. 4

    Design in Figma

    Interface refinements were later explored in Figma before implementation, feeding learnings back into the next build cycle.

Early build

The first working build carried Bitchat's inherited terminal aesthetic — functional, but not built for someone scanning for a threat under pressure. It validated the data model and mesh sync before any visual design pass.

Sizing the Mesh

At ~75 m of effective Bluetooth range, one phone covers about 0.018 km². For a message to reliably *percolate* across the network, four to six devices need to be within radio range at any point. Run that against downtown Toronto (~4 km², ~48,000 people):

AdoptionActive devicesPer coverage circleResult
1%~480~2Below threshold most of the time — fragmented
2%~960~4At the threshold — works, but probabilistic and slow
5%~2,400~10Comfortably reliable propagation
10%~4,800~21Risk of radio congestion under crisis load

Both undersupply and oversupply fail — too few devices fragment the network, too many congest the radio. Phone-only mesh is unreliable without years of pre-crisis seeding. "In my city no one has this app" is that threshold, in human terms.

*

The fix isn't more downloads — it's infrastructure. A small number of always-on relay nodes drops the per-user adoption a city needs to reach viability.

Future build – The ESP32 resilience layer

Cheap, always-on ESP32 relay nodes, hosted by community members on rooftops and inside hospitals, libraries, and shops. A new layer that act as persistent anchors, converting the network from opportunistic to anchored. This is part of the future build Re need to add to its infrastructure. Sized for downtown Toronto:

~320

relay nodes to blanket downtown Toronto's ~4 km² core

~$5–6.5K

total hardware cost, at roughly $15–20 per node

0

central coordination — each node is plug-and-forget, with no user logs

The limits are real: 2.4 GHz jamming can disable every node at once, fixed nodes can be mapped, and coverage clusters in higher-income neighbourhoods first. Conditional infrastructure — civic resilience augmentation, not a replacement telecom network.

What Re Can't Do Yet

  • No independent security audit yet. Re builds on Bitchat because it's *auditable* — not because it's been audited. A third-party audit is a prerequisite for deployment.
  • Export has no cryptographic integrity. Today's export is a plaintext file — its value is survivability, not tamper-evidence. Signed export is near-term roadmap.
  • The prototype is English-only — not yet in Persian, Burmese, Arabic, or Bangla, the languages of the populations most affected.
  • Phone-only range is a neighbourhood, not a city. Citywide reach depends on the ESP32 layer plus real adoption density.

Interested in working together?

Let's talk about your project.

Get in touch
Dark
Coming soon
Inspired by Fara Yan
Waves
Light