A modern, light & dark-themed notes & to-do app built with Expo (React Native) and Expo Router.
- 🌓 Dynamic Theming: Toggle between Dark and Light modes with a premium glassmorphic interface.
- 📝 Versatile Notes: Create text notes with custom background colors and quick-edit support.
- ✅ Interactive To-Dos: Efficient task management with a dedicated list editor and progress tracking.
- 📦 Archive: Declutter your workspace by archiving notes you don't need right now. Archived notes are preserved separately and can be restored anytime — from the home screen (multi-select) or within a note's detail view.
- 🔐 Privacy & Security:
- Offline-First: All your notes and data are stored locally on your device by default.
- ☁️ Optional Cloud Sync: Self-hostable cloud sync server. Your data is encrypted before leaving your device (E2EE), ensuring complete privacy even when synced. Archived notes are included in cloud sync.
- 🛡️ End-to-End Encryption (E2EE): Optional AES-256 encryption at rest — all notes, to-do lists, and saved passwords are encrypted with a master passphrase that only you know.
- Note Locking: Secure individual sensitive notes with individual password protection.
- Password Manager: An integrated, secure tool for managing your credentials locally.
- 🔍 Quick Navigation: Animated search bar for real-time filtering of your content.
- ⚡ High Performance: Smooth 60 FPS transitions and micro-animations powered by Reanimated.
- ☁️ Backup & Restore: Export backups as plain text or encrypted files. Import either format seamlessly — encrypted backups are auto-detected and decrypted with your passphrase.
| Layer | Technology |
|---|---|
| Framework | Expo (SDK 51+) |
| Navigation | Expo Router (file-based) |
| Animations | React Native Reanimated |
| Icons | @expo/vector-icons (Ionicons) |
| Storage | AsyncStorage via utils/storage.ts |
| Encryption | AES-256 CTR + HMAC-SHA-256 via expo-crypto (utils/encryption.ts) |
| Language | TypeScript & Node.js |
| Sync Server | Express.js, MongoDB |
npm install
npx expo start --clearNote: Change the
projectId&ownerinapp.json.
Scan the QR code with Expo Go on your device, or press a for Android emulator / i for iOS simulator.
If you want to use the Cloud Sync feature:
cd server
npm install
# Create a .env file based on .env.example and configure your MongoDB URI
npm startNote: Update the
DEFAULT_API_URLinutils/syncConfig.tsto point to your server (e.g., your computer's IP address or a deployed URL).
For any inquiries, reach out at kaushalsahu.me@gmailcom.
GitHub: @kaushalsahu07.
Linkedin: @kaushalsahu07.
Instagram: @cd.kaushal.
Portfolio: kaushalsahu.tech
X (Tweeter): @kaushalsahu_07.
Created with ❤️ by Kaushal Sahu



