Modern SMS Messaging, No Internet Required
Experience WhatsApp-like features using only SMS. Edit, delete, reply, and search messages—all without an internet connection.
Qwisha is an Android SMS messaging app that brings modern messaging features to traditional SMS. It operates entirely offline, requiring no internet connection or servers. Perfect for areas with unreliable internet or during network restrictions.
Qwisha was born out of necessity during the 6-day nation-wide internet ban in October-November 2025. Like most people, the inventor experienced firsthand how frustrating it was to rely on standard SMS apps when the internet was unavailable. The limitations of traditional SMS—no message editing, no replies to specific messages, no search functionality—became painfully clear during this period of forced offline communication.
This experience sparked the idea to create a messaging app that brings modern WhatsApp-like features to SMS, ensuring that even when the internet is unavailable, people can still communicate effectively and efficiently.
The name Qwisha is derived from the Swahili word "Kwisha", which is commonly used as slang in SMS conversations to signify the end of a conversation with mutual understanding or agreement. Just as "Kwisha" marks a meaningful conclusion to a dialogue, Qwisha aims to bring meaningful, modern messaging capabilities to SMS conversations—allowing you to communicate effectively and reach understanding, even without an internet connection.
- ✏️ Edit Messages - Made a typo? No problem! Edit your sent messages and the recipient will see the updated version instantly.
- 🗑️ Delete Messages - Remove messages from both your device and the recipient's device. Perfect for fixing mistakes or removing sensitive information.
- 💬 Reply to Messages - Reply directly to specific messages, creating threaded conversations that are easy to follow.
- 🔍 Smart Search - Search through all your messages instantly. Find any conversation, keyword, or contact with lightning-fast search.
- 📴 100% Offline - Works entirely without internet. No servers, no data usage, just pure SMS communication.
- ✅ Delivery Reports - Know when your messages are sent and delivered. Get real-time status updates for all your messages.
- Android device with SMS capability
- Android 7.0 (API level 24) or higher
- Must be set as the default SMS app to use all features
- Download the latest APK from Qwisha page
- Enable "Install from unknown sources" on your Android device
- Install the APK
- Set Qwisha as your default SMS app when prompted
- Grant necessary permissions (SMS, Contacts, Notifications)
# Clone the repository
git clone https://github.com/yourusername/qwisha.git
cd qwisha
# Open in Android Studio
# Build and run on your device or emulatorQwisha uses a lightweight overlay protocol that extends standard SMS with enhanced features. Each message carries a compact header that encodes metadata:
@i=<MSGID>;c=<CMD>;r=<REFID> <CONTENT>
i- Message ID (unique identifier)c- Command type (s=send, r=reply, e=edit, d=delete)r- Reference ID (for replies, edits, and deletes)CONTENT- Message content
- Send (s):
@i=abc123;c=s Hello World - Reply (r):
@i=xyz789;c=r;r=abc123 Yes, I agree! - Edit (e):
@i=edit456;c=e;r=abc123 Hello Updated World - Delete (d):
@i=del789;c=d;r=abc123
For detailed protocol documentation, see Protocol Documentation.
-
Both Users Need Qwisha - For advanced features like edit, delete, and reply to work, both the sender and recipient must have Qwisha installed. Regular SMS still works for non-users, but without the enhanced features.
-
Default SMS App Required - To fully utilize Qwisha's features, you'll need to set it as your default SMS app. This allows the app to manage your messages properly.
-
Message Ordering - SMS messages may arrive out of order. Qwisha handles this intelligently, but in rare cases, message ordering might be slightly affected.
-
Standard SMS Security - Qwisha uses standard SMS, which means messages are not end-to-end encrypted by default. Future versions will include optional encryption.
- 👥 Group Messaging
- 🎨 Customization (themes, fonts, sounds)
- Language: Kotlin
- UI Framework: Jetpack Compose
- Database: Room Database
- Architecture: MVVM (Model-View-ViewModel)
- Minimum SDK: 23 (Android 6.0)
- Target SDK: 34 (Android 14)
MainActivity.kt- Main entry pointConversationsScreen.kt- Conversation list UIThreadScreen.kt- Individual conversation threadSmsReceiver.kt- Handles incoming SMSDatabase.kt- Room database definitionsModels.kt- Data modelsUtils.kt- Utility functionsComponents.kt- Reusable UI components
The app implements the Qwisha Protocol, a compact overlay protocol that extends SMS with modern messaging features. The protocol is designed to:
- Minimize overhead to avoid SMS segmentation
- Handle out-of-order delivery gracefully
- Maintain backward compatibility with regular SMS
- Support stateless message processing
- Protocol Specification - Detailed technical documentation
- Website - Project website and documentation
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
This project is licensed under the MIT License - see the LICENSE file for details.
Vicent Laizer
- Website: TanzaniaProgrammers.com
- GitHub: @yourusername
- Inspired by the need for reliable offline messaging during internet restrictions
- Built with modern Android development best practices
- Uses open-source libraries and frameworks
🚧 Active Development - The project is currently in active development. Features may change, and there may be bugs. Use at your own risk.
For support, please open an issue on the GitHub repository or visit the project website.
Modern messaging, resilient to internet restrictions