Features โข Screenshots โข Requirements โข Installation โข Usage โข Architecture โข Contributing
BitTalk โ Offline Bluetooth Messaging for Android BitTalk is an open-source Android app inspired by Jack Dorseyโs BitChat, bringing decentralized peer-to-peer messaging to Android devices. Built with Java and Android Studio, BitTalk uses Bluetooth for real-time communication without any servers, internet, or phone numbers.
โ Current Features: Real-time one-to-one messaging via Bluetooth
Automatic nearby device discovery
Material Design 3 interface
๐ In Development: Bluetooth LE Mesh support (multi-hop message relaying)
End-to-end encryption (X25519 + AES-256-GCM)
Store & forward: caching messages for offline peers
BitTalk aims to empower offline communication, privacy, and decentralization โ especially in areas with poor connectivity or surveillance concerns.
- ๐ฌ Real-time Messaging: Send and receive messages instantly via Bluetooth
- ๐จ Material Design 3: Beautiful, modern UI following Google's latest design guidelines
- ๐ฑ Device Discovery: Easily find and connect to nearby Bluetooth devices
- ๐ Secure Connections: Direct peer-to-peer encrypted Bluetooth communication
- ๐ Message History: View your conversation history during the session
- โก Fast & Lightweight: Optimized for performance and battery efficiency
- ๐ Theme Support: Follows system theme (Light/Dark mode)
- โจ๏ธ Smart Keyboard Handling: Input field always visible when typing
- Android Studio Arctic Fox or newer
- Android device or emulator running Android 7.0 (API 24) or higher
- Bluetooth capability on device
- Java 17
git clone https://github.com/yourusername/BitTalk.git
cd BitTalk- Open Android Studio
- Select "Open an existing Android Studio project"
- Navigate to the cloned repository
- Let Android Studio sync the project
- Connect your Android device via USB or start an emulator
- Enable Developer Mode and USB Debugging on your device
- Click the "Run" button in Android Studio
- Select your device and click OK
./gradlew assembleDebugThe APK will be generated at app/build/outputs/apk/debug/app-debug.apk
- Install BitTalk on two Android devices
- Enable Bluetooth on both devices
- Pair the devices in system Bluetooth settings
- Grant permissions when prompted:
- Bluetooth permissions
- Location permission (for device discovery on older Android versions)
- Tap the Connect floating action button
- Select a device from the list of paired devices
- Or tap "Scan" to discover new devices
- Wait for connection confirmation
- Once connected, type your message in the input field
- Tap the send button or press enter
- Messages appear in real-time on both devices
BitTalk/
โโโ app/
โ โโโ src/
โ โโโ main/
โ โโโ java/com/cj/bittalk/
โ โ โโโ MainActivity.java
โ โ โโโ adapters/
โ โ โ โโโ MessageAdapter.java
โ โ โ โโโ DeviceAdapter.java
โ โ โโโ model/
โ โ โ โโโ Message.java
โ โ โ โโโ Device.java
โ โ โโโ services/
โ โ โโโ BluetoothService.java
โ โโโ res/
โ โโโ layout/
โ โโโ values/
โ โโโ drawable/
- Language: Java
- UI Framework: Material Design 3
- Minimum SDK: 24 (Android 7.0)
- Target SDK: 36 (Android 14)
- Build System: Gradle with Kotlin DSL
- Architecture: MVC with Service layer
- MainActivity: Main UI controller and permission handling
- BluetoothService: Manages Bluetooth connections and message transmission
- MessageAdapter: RecyclerView adapter for chat messages
- DeviceAdapter: RecyclerView adapter for device selection
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Android Java style guidelines
- Use meaningful variable and method names
- Add comments for complex logic
- Test your changes on multiple devices
- Bluetooth Mesh networking support
- Group chat functionality
- Message encryption
- File sharing capabilities
- Voice messages
- Message persistence (local database)
- Custom themes
- Chat backup and restore
- Typing indicators
- Read receipts
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name
- GitHub: @chiragjagani
- LinkedIn: Jagani Chirag
- Material Design 3 guidelines by Google
- Android Bluetooth documentation
- Open source community
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Include device model, Android version, and steps to reproduce
Made with โค๏ธ for the Android community


