Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UnbotheredNotes

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.

🌟 Key Features

✅ Silent Voice Notes

  • 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

✅ Smart Transcription

  • Powered by Mistral AI's Voxtral model
  • Automatically extracts page numbers, note types, and content
  • Intelligent parsing of voice notes into structured data

✅ Book Organization

  • Create books for each title you're reading
  • Notes are automatically organized under their respective books
  • Easy navigation between books and notes

✅ Effortless UX

  • Minimal interface that stays out of your way
  • Quick access to recording mode
  • Instant feedback and confirmation

📱 Screenshots

(Screenshots will be added after UI implementation)

🚀 Getting Started

Prerequisites

  • 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)

Installation

  1. Clone the repository:
git clone https://github.com/jorgeswork/UnbotheredNotes.git
cd UnbotheredNotes
  1. Install dependencies:
flutter pub get
  1. Generate code (for freezed models and Hive adapters):
flutter pub run build_runner build
  1. Configure Mistral AI API Key:

    • Get your API key from Mistral AI
    • Add it to your app's secure storage or configuration
  2. Run the app:

# For Android
flutter run -d android

# For iOS
flutter run -d ios

📁 Project Structure

lib/
├── 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

🔧 Configuration

Mistral AI API Setup

  1. Sign up for a Mistral AI account at mistral.ai
  2. Get your API key from the developer dashboard
  3. Configure the API key in your app (implementation depends on your platform)

Audio Recording Configuration

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.

🎯 User Flow

  1. Open App → See recent books or create a new one
  2. Select/Create Book → Choose the book you're reading
  3. Tap "Listen" Button → Enter recording mode
  4. Tap to Record → Start recording your voice note
  5. 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"
  6. Tap to Stop → Recording stops, transcription begins
  7. Review & Save → Confirm the transcribed note and save it
  8. Continue Reading → Get back to your book without breaking flow

🎨 UI/UX Design Principles

  • 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

🔒 Privacy & Security

  • ✅ All data stored locally on your device
  • ✅ No data sharing without explicit consent
  • ✅ Audio recordings deleted after transcription
  • ✅ Optional cloud sync (future feature)

🛠️ Built With

📦 Dependencies

See pubspec.yaml for the complete list of dependencies.

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • 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

📞 Contact

For questions, feedback, or support, please open an issue on GitHub.


UnbotheredNotes - Your quiet reading companion, always ready to capture your thoughts.

About

This app helps readers capture thoughts, quotes, and page numbers from paper books—without typing or breaking their reading flow.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages