A mobile app for capturing thoughts, quotes, and page numbers from paper books—without typing or breaking your reading flow. It's designed for people who love physical books but want a digital way to remember and organize what they read.
- Tap the screen or use volume buttons to start/stop recording
- Hands-free note capture that preserves your reading flow
- Automatic audio processing and cleanup
- Powered by Mistral AI's Voxtral model
- Automatically extracts page numbers, note types, and content
- Intelligent parsing of voice notes into structured data
- Create books for each title you're reading
- Notes are automatically organized under their respective books
- Easy navigation between books and notes
- Minimal interface that stays out of your way
- Quick access to recording mode
- Instant feedback and confirmation
(Screenshots will be added after UI implementation)
- Flutter SDK 3.0.0 or higher
- Dart 3.0.0 or higher
- Android Studio / Xcode for mobile development
- Mistral AI API key (for transcription)
- Clone the repository:
git clone https://github.com/jorgeswork/UnbotheredNotes.git
cd UnbotheredNotes- Install dependencies:
flutter pub get- Generate code (for freezed models and Hive adapters):
flutter pub run build_runner build-
Configure Mistral AI API Key:
- Get your API key from Mistral AI
- Add it to your app's secure storage or configuration
-
Run the app:
# For Android
flutter run -d android
# For iOS
flutter run -d ioslib/
├── core/
│ ├── constants/ # App constants and configuration
│ ├── utils/ # Utility classes and type definitions
│ └── services/ # Core services (audio, transcription)
├── data/
│ ├── models/ # Data models (Hive models)
│ ├── repositories/ # Repository implementations
│ └── datasources/ # Data sources (local storage)
├── domain/
│ ├── entities/ # Domain entities
│ ├── repositories/ # Abstract repository contracts
│ └── usecases/ # Business logic use cases
├── presentation/
│ ├── widgets/ # Reusable UI components
│ ├── screens/ # App screens
│ ├── providers/ # Riverpod state management
│ └── routes/ # App navigation and routing
└── main.dart # App entry point
- Sign up for a Mistral AI account at mistral.ai
- Get your API key from the developer dashboard
- Configure the API key in your app (implementation depends on your platform)
The app uses the following audio settings by default:
- Sample rate: 44100 Hz
- Bit rate: 128000 bps
- Channels: 1 (mono)
- Format: AAC
- Maximum recording duration: 5 minutes
You can modify these in lib/core/constants/app_constants.dart.
- Open App → See recent books or create a new one
- Select/Create Book → Choose the book you're reading
- Tap "Listen" Button → Enter recording mode
- Tap to Record → Start recording your voice note
- Speak Naturally → Say things like:
- "Page 42: quote: The best way to predict the future is to invent it."
- "idea: What if I tried this approach?"
- "thought: This reminds me of my project"
- Tap to Stop → Recording stops, transcription begins
- Review & Save → Confirm the transcribed note and save it
- Continue Reading → Get back to your book without breaking flow
- Effortless: Recording a note should feel as natural as turning a page
- Private: All data stored locally by default, no data sharing without consent
- Helpful: Notes are easy to find, search, and organize
- Minimal: Clean interface that doesn't distract from reading
- ✅ All data stored locally on your device
- ✅ No data sharing without explicit consent
- ✅ Audio recordings deleted after transcription
- ✅ Optional cloud sync (future feature)
- Framework: Flutter
- State Management: Riverpod
- Local Storage: Hive
- Audio Recording: flutter_sound
- Networking: Dio
- Navigation: go_router
- AI Transcription: Mistral AI Voxtral
See pubspec.yaml for the complete list of dependencies.
Contributions are welcome! Please follow these steps:
- 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.
- Inspired by the need for a better reading companion
- Built with love for book lovers everywhere
- Special thanks to the Flutter community and Mistral AI
For questions, feedback, or support, please open an issue on GitHub.
UnbotheredNotes - Your quiet reading companion, always ready to capture your thoughts.