Joex is a Progressive Web Application (PWA) designed to help users quickly capture and manage their thoughts and notes. It features a simple, intuitive interface built with Ionic React and provides seamless functionality across different platforms.
- Quick log capture with a floating action button
- Swipe gestures for log management
- Two-state system: Captured & Migrated notes
- Platform-specific UI adaptations (iOS/Material Design)
- Offline-first with IndexedDB storage
- Native app badge notifications
- Full PWA support with installability
- Dark mode support
- React 18
- Ionic Framework 8
- TypeScript
- Vite
- Capacitor 6
- Dexie.js (IndexedDB wrapper)
- PWA (Progressive Web App)
The project follows a modular architecture with:
- Components: Reusable UI elements
- Services: Singleton pattern for business logic
- Hooks: Custom React hooks for state management
- Utils: Helper functions
- Types: TypeScript type definitions
This PWA version was inspired by my previous iOS-native implementation built with SwiftUI. While the iOS version served as a great foundation, this PWA version aims to provide a cross-platform solution that's accessible to all users, regardless of their device.
- Clone the repository:
git clone https://github.com/sampittko/joex-pwa-ionic.git
cd joex-pwa-ionic
- Install dependencies:
npm install
- Run the app:
npm run dev
- Build for production:
npm run build
- iOS (Safari)
- Android (Chrome)
- Desktop (Chrome, Firefox, Safari, Edge)
Joex respects your privacy by storing all data locally on your device using IndexedDB. No data is sent to external servers.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
Samuel Pitonak - @sampittko