Bloom is a privacy-first, end‑to‑end encrypted messenger designed for both iOS and Android. Built with React Native and Expo, it focuses on top-tier security without compromising ease of use.
- End‑to‑End Encryption (E2EE): Total privacy for your conversations.
- Post‑Quantum Cryptography: Built for the future to resist advanced threats.
- Cross-Platform: Available on iOS (Note: Android support is currently a Work in Progress).
- Intuitive UI/UX: Designed to be as simple and user-friendly as possible.
Bloom doesn't rely on third-party E2EE frameworks. Instead, it utilizes SKID — a custom post‑quantum encryption protocol based on hybrid cryptography.
- Future-Proof: Specifically designed for post‑quantum security.
- Syncing: Secure cross-device synchronization of private keys.
- Hybrid Primitives: Combines the best of modern cryptographic algorithms.
- Built-in: The SKID protocol source code is implemented and maintained directly within this repository.
- Framework: React Native & Expo
- Language: TypeScript / JavaScript
- Package Manager: pnpm
- Styling: React Native Unistyles
- iOS: 16.0 or higher
- Android: API Level 30+ (Android 11+) Work in progress (not fully supported yet)
-
Clone the repository:
git clone https://github.com/slipe-fun/Bloom-mobile.git cd Bloom-mobile -
Install dependencies: (Ensure you have
pnpminstalled)pnpm install
-
Prebuild the Expo project:
npx expo prebuild
-
Start the development build:
# For iOS npx expo run:ios # For Android npx expo run:android
Note for Linux Users (Android Emulator): If you encounter a
CommandErrorstating that the emulator could not be connected, ensure yourANDROID_HOMEenvironment variable is set. Add the following to your~/.bashrcor~/.zshrcfile and restart your terminal:export ANDROID_HOME=$HOME/Android/Sdk export PATH=$PATH:$ANDROID_HOME/emulator export PATH=$PATH:$ANDROID_HOME/platform-tools
The project follows a standard Expo / React Native architecture.
Note: No .env files are used, and there is no runtime environment configuration required.
app/— Application routes and screens.src/— Core application logic and SKID protocol implementation.layouts/— Navigation stack and it's transitions.assets/— Static files, images, and fonts.scripts/— Utility scripts.
Generate an icon list:
pnpm run icons:generateContributions, issues, and feature requests are welcome! Feel free to check theissues page if you want to contribute.
This project is licensed under the GNU General Public License v3.0. See theLICENSE file for more details.
