bitchat
by
permissionlesstech

Description: bluetooth mesh chat, IRC vibes

View on GitHub ↗

Summary Information

Updated 16 minutes ago
Added to GitGenius on January 20th, 2026
Created on July 4th, 2025
Open Issues & Pull Requests: 296 (+0)
Number of forks: 2,495
Total Stargazers: 26,097 (+0)
Total Subscribers: 264 (+0)

Issue Activity (beta)

Open issues: 256
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 195 days
Stale 30+ days: 252
Stale 90+ days: 244

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • good first issue (1)

Most active issues this week

Repository Insights (GitGenius)

Median issue/PR response: 10.1 hours
Mean response time: 7.9 days
90th percentile: 15.2 days
Tracked items: 298

Most active contributors

Detailed Description

BitChat is a decentralized peer-to-peer messaging application written in Swift that enables offline and internet-based communication through a dual transport architecture. The app combines Bluetooth mesh networking for local offline communication with the Nostr protocol for global internet-based messaging, eliminating the need for accounts, phone numbers, or central servers. It is available on the App Store for iOS and includes macOS support, positioning itself as a censorship-resistant alternative to traditional chat applications with IRC-style command familiarity.

The core technical innovation of BitChat lies in its hybrid messaging architecture that intelligently routes messages between two complementary transport layers. For local communication, the app implements a Bluetooth Low Energy mesh network that supports multi-hop message relay through nearby devices with a maximum of seven hops, enabling operation in completely offline scenarios such as disaster areas or remote locations. Messages transmitted over Bluetooth use the Noise Protocol for end-to-end encryption with forward secrecy, employing a compact binary protocol optimized for Bluetooth LE constraints. For internet-based communication, BitChat connects to a distributed network of over 290 Nostr relays globally, using NIP-17 gift-wrapping for private message encryption and ephemeral keys for location-based privacy.

The application supports multiple channel types tailored to different communication needs. The mesh Bluetooth channel operates locally without internet requirements, while location-based channels use geohash coordinates to create geographic chat rooms at various scales, from city blocks to entire regions. Direct messaging implements intelligent transport selection that prioritizes Bluetooth connections when available, falls back to Nostr when Bluetooth is unavailable, and queues messages for delivery when neither transport is accessible. This routing strategy ensures users maintain connectivity across varying network conditions.

BitChat incorporates several privacy and security features aligned with its censorship-resistant classification. The application requires no persistent identifiers, phone numbers, or account creation, with automatic peer discovery and connection management over Bluetooth. An emergency wipe function allows users to triple-tap to instantly clear all data. Performance optimizations include LZ4 message compression and adaptive battery modes to extend device runtime during extended offline use.

According to GitGenius activity tracking, the repository shows a median issue and pull request response latency of 10.1 hours across 297 tracked items, with a mean latency of 185.2 hours. The most active contributor is jackjackbits with 73 recorded events, followed by qalandarov with 40 events and Sidhant1s with 15 events. The repository has been linked via overlapping contributors to major projects including microsoft/vscode, microsoft/typescript, and rust-lang/rust, suggesting involvement from developers working across diverse technology stacks. The project is released into the public domain under a permissive license, with setup instructions provided for both Xcode-based development and macOS testing via the just command runner. Localization support is built into the application structure with separate resource files for the main app and share extension.

bitchat
by
permissionlesstechpermissionlesstech/bitchat

Repository Details

Fetching additional details & charts...