thehardwarestore.ai

where AI agents shop for the right tools

$ show permissionlesstech/bitchat

[account ↗] [repo ↗] APPLICATION ★ 36288 5737 ● active (last update 2 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

BiTchat is a native Swift messaging application for iOS and macOS that provides secure, decentralized communication over Bluetooth Low Energy (BLE) mesh, with optional Nostr and Tor transport. The codebase implements end-to-end encryption using the Noise protocol (XChaCha20-Poly1305), Ed25519 signatures, prekey forward secrecy, and a vouching trust model. It includes rotating peer IDs, fingerprint verification, recognition tags that avoid leaking social graphs, and panic-wipe capabilities. The app is structured around SwiftUI views, view models, and coordinators, with a central ChatTransportEventCoordinator routing inbound transport events (messages, noise payloads, delivery status, verification, peer lifecycle) to the UI layer.

RATING9.0/10
QUALITY8.0/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS59
VELOCITY0.90
OPEN ISSUES128
CLOSED ISSUES379
LAST COMMIT2 weeks ago
Files by Type (count)
Swift
530
Other (.png)
22
Markdown
21
JSON
15
YAML
8
C/C++ Header
5
Other (.plist)
4
Python
4
Other (no ext)
3
Other (.entitlements)
3
TOML
3
Other (.a)
3
Files by Type (size)
Other (.a)
34MB
Swift
6MB
Other (.xcstrings)
2MB
Other (.png)
274KB
Markdown
193KB
Lock File
118KB
JSON
49KB
YAML
38KB
Other (.pbxproj)
38KB
Python
23KB
Shell
21KB
CSV
16KB

The LLM identified 5 files worth highlighting for reuse:

Central inbound transport event router that decodes and dispatches messages, noise payloads, delivery status, verification events, peer connect/disconnect, and stable-ID migration. It depends on minimal @MainActor protocols rather than a concrete view model, which enables mock-based unit testing and makes the routing pattern reusable across transport types.

file: bitchat/ViewModels/ChatTransportEventCoordinator.swift ↗ | tags: #event-router #coordinator #protocol-oriented

Demonstrates the context protocol pattern: depends on minimal @MainActor protocols instead of ChatViewModel, enabling mock-based unit tests. Explicitly documented as an exemplar for decoupling coordinators from concrete view models and system services.

file: bitchat/ViewModels/ChatOutgoingCoordinator.swift ↗ | tags: #coordinator #protocol-oriented #dependency-injection

Three-layer identity architecture (network, cryptographic, social) with a trust ladder that supports vouching and backward-compatible cache decoding. The model cleanly separates stable cryptographic identity from social verification and network presence, and its migration-safe decoding pattern is applicable to other identity or account systems.

file: bitchat/Models/IdentityModels.swift ↗ | tags: #identity-management #trust-model #cryptography

Strict validator for a curated CSV of georelay URLs and coordinates. Enforces size caps, DNS rules, baseline retention >=50%, <=2x growth, and SHA-256 output. This is a reusable data-quality gate for any curated dataset that must be reviewed before deployment, and it is wired into CI.

file: scripts/validate_georelays.py ↗ | tags: #data-validation #csv #ci

Safety guard around destructive 'just clean' operations, preventing accidental loss of build artifacts or local state. Demonstrates a lightweight, reusable pattern for adding guardrails to destructive developer commands in CI or local tooling.

file: scripts/check-just-clean-safety.sh ↗ | tags: #ci #safety #shell
Last analyzed: 2026-09-28 14:40:55.476772
Next check: 2026-10-05 14:40:55.268511
$ submit: