"Your messages. Your privacy. Your control."
One Message isn't just another messaging app β it's a commitment to security-first communication.
Built with Signal Protocol encryption, designed with The One Atom aesthetic, and engineered for reliability with offline SMS fallback.
One Message is designed to be:
- A truly private messaging platform β end-to-end encryption by default
- A hybrid communication system β seamless switch between internet and SMS
- A beautifully crafted experience β The One Atom design with glassmorphism
Most messaging apps compromise between security and usability.
One Message delivers both β military-grade encryption with a premium user experience.
-
Pure Black Background
#000000for true OLED blacks and maximum contrast. -
Glassmorphism Effects
Translucent panels withbackdrop-filter: blur()for depth and elegance. -
White & Gray Typography
Clean, readable text hierarchy with proper visual weight. -
Ambient Orbs
Subtle floating gradient effects for visual atmosphere.
-
Signal Protocol
Industry-standard end-to-end encryption for all messages. -
Device-Only Storage
Messages stored locally with Room encryption β server never sees plaintext. -
OTP Authentication
Phone number verification via Twilio β no passwords to hack. -
Multi-Device Sync
Secure key exchange for seamless cross-device experience.
- Material 3 design with custom One Atom theme
- Native performance with modern architecture
- Room database with encryption
- Native SwiftUI implementation
- CoreData with encryption
- APNs push notifications
- Marketing website with glassmorphic design
- Responsive for all devices
- Premium animations and interactions
One-Message/
βββ app/ # Android App (Kotlin/Compose)
β βββ src/main/java/com/example/onemessage/
β β βββ MainActivity.kt # App entry point
β β βββ ui/
β β β βββ screens/ # UI Screens
β β β β βββ LoginScreen.kt # Phone + OTP auth
β β β β βββ ChatListScreen.kt # Conversations list
β β β β βββ ChatScreen.kt # Individual chat
β β β βββ theme/ # One Atom Design System
β β β βββ Color.kt # Color palette
β β β βββ Theme.kt # Dark theme config
β β β βββ Type.kt # Typography scale
β β βββ navigation/
β β βββ Navigation.kt # Jetpack Navigation
β βββ build.gradle.kts
β
βββ backend/ # Node.js + Express API
β βββ src/
β β βββ index.js # Express + Socket.IO server
β β βββ routes/
β β β βββ auth.js # OTP authentication
β β β βββ messages.js # HTTP message fallback
β β βββ socket/
β β β βββ handlers.js # Real-time WebSocket events
β β βββ db/
β β βββ schema.sql # PostgreSQL schema
β βββ package.json
β βββ .env.example
β
βββ landing/ # Marketing Website
βββ index.html # Main HTML structure
βββ styles.css # Glassmorphism & animations
βββ script.js # Interactions & effects
- Android Studio (Hedgehog or later)
- Node.js (v18+)
- PostgreSQL (v14+)
- Twilio Account (for OTP)
git clone https://github.com/zakisheriff/One-Message.git
cd One-Messagecd backend
npm install
cp .env.example .env
# Edit .env with your credentials
npm start# Open in Android Studio
# Or build from command line:
./gradlew assembleDebug# Simply open in browser
open landing/index.htmlβ
Phone Authentication β Secure OTP verification
β
170+ Countries β Complete country code picker
β
Real-Time Messaging β Instant delivery via WebSocket
β
Read Receipts β Know when messages are read
β
Typing Indicators β See when someone is typing
β
Offline Mode β SMS fallback when internet unavailable
β
End-to-End Encryption β Signal Protocol protection
β
Material 3 Design β Modern Android UI
β
Socket.IO β Real-time bidirectional communication
β
JWT Sessions β Secure token-based auth
β
PostgreSQL β Reliable data persistence
β
Keyboard Handling β Perfect mobile input experience
- Kotlin β Modern Android development
- Jetpack Compose β Declarative UI framework
- Material 3 β Google's latest design system
- Navigation Compose β Type-safe navigation
- Room β Local database with encryption
- Node.js + Express β REST API server
- Socket.IO β WebSocket real-time messaging
- PostgreSQL β Relational database
- JWT β Session management
- Twilio β SMS/OTP delivery
- Pure HTML/CSS/JS β No frameworks
- Glassmorphism β Modern visual effects
- CSS Animations β Smooth interactions
- Responsive Design β Mobile-first approach
Core tables with proper relationships:
- users β Phone numbers and profiles
- devices β Multi-device support with public keys
- sessions β JWT session management
- otp_codes β Verification codes with expiry
- push_tokens β FCM/APNs tokens
- contacts β User relationships
- sms_transactions β Offline message logs
β
Signal Protocol β End-to-end encryption
β
OTP Verification β Phone-based authentication
β
Device Keys β Per-device encryption keys
β
JWT Tokens β Secure session management
β
Local Encryption β Room database encryption
β
No Server Storage β Messages never stored on server
POST /auth/request-otpβ Send OTP to phonePOST /auth/verify-otpβ Verify and get JWTPOST /auth/register-deviceβ Register device keysPUT /auth/profileβ Update display name
POST /messages/sendβ Send message via HTTPGET /messages/pendingβ Get pending messages
message:send/message:receiveβ Real-time messagingmessage:delivered/message:readβ Delivery statustyping:start/typing:stopβ Typing indicatorspresence:updateβ Online/offline status
- Landing Page with glassmorphism
- Backend with Socket.IO
- Android UI screens
- Complete Android networking
- Signal Protocol integration
- iOS app (Swift/SwiftUI)
- Push notifications (FCM/APNs)
- Offline SMS mode
- Group messaging
- Media attachments
Proprietary License
This project is part of The One Atom ecosystem. The code is provided for study and reference purposes only.
- β You may view and study the code
- β You may fork for personal learning
- β Commercial use is prohibited
- β Redistribution is prohibited
- β Creating derivative works for distribution is prohibited
If One Message inspired you or helped with your learning:
Made by Zaki Sheriff
Part of The One Atom ecosystem
Privacy is not optional. It's fundamental.