A sleek and intuitive note-taking application created using Flutter and Firebase, now enhanced with AI features powered by Google Gemini and fortified with robust encryption!
- π Secure user authentication using Firebase Auth
- πΎ Efficient storage and retrieval of notes using Firebase Firestore
- π End-to-end encryption for all note content
- π Stylish dark mode interface with smooth toggle
- π Dedicated section for optional links in each note
- π¨ Improved UI with color-coded notes and card layouts
- π Advanced search functionality to easily find notes
- π§ AI-powered title generator for your notes
- π¬ Chat with your notes using AI assistance
- π·οΈ Tag system for better note organization
- π Pin important notes to the top
- ποΈ Archive functionality for better note management
- ποΈ Trash system with auto-deletion after 30 days
- π Staggered grid view for dynamic note display
- ποΈ Color filter for easy note browsing
- π± Responsive design for various screen sizes
- π Reset PIN feature for locked notes
- π Automatic app update checks using Firebase Remote Config
- β° Reminder system for both standalone reminders and note-specific reminders
- π Calendar view for managing reminders
- π Local notifications for reminders
- ποΈ Ability to set date and time for reminders
- π Sync reminders across devices using Firebase
- π¨ Customizable app theme with color selection
- ποΈ Adjustable font size and family
- βοΈ Comprehensive settings screen for app customization
- π Beautiful and informative Privacy Policy screen
- π Animated text effects for engaging user experience
- ποΈ Expandable sections for better information organization
- π¨ Theme-aware UI elements for consistent look and feel
- ποΈ Voice-to-text functionality for easy note creation
- π§ AI-powered conversion of voice notes to structured text
- π AMOLED black theme for OLED screens
- π· Image-to-text functionality using Google ML Kit
- β Todo list management with AI-powered generation
- End-to-End Encryption: All note content is encrypted using AES encryption before being stored in the database
- Locked Notes: Secure your sensitive notes with a 4-digit PIN
- PIN Reset: Easily reset your PIN if forgotten, with email verification for added security
- Auto-lock: Locked notes are automatically hidden from the main view
- Secure Storage: Encrypted notes are stored in Firebase Firestore, ensuring data remains protected even if the database is compromised
- Create, edit, and delete todo items
- Mark todos as completed with a checkbox
- Set reminders for individual todo items
- Search functionality to quickly find specific todos
- Swipe-to-delete for easy todo removal
- Long-press to edit or delete todos
- AI-powered todo list generation from context
- Prioritized todo list with time estimates (AI-generated)
- Local notifications for todo reminders
- Now you can check for updates using Firebase Remote Config
- Seamless update process with in-app prompts
- Ensures users always have the latest features and security improvements
- You can get the latest version from the GitHub repository
- Sleek and modern design with card-based layout
- Animated title for engaging user experience
- Expandable sections for easy navigation through policy details
- Dark mode support for comfortable reading in any lighting condition
- Clear presentation of data collection, usage, and security practices
- Easy-to-find contact information for user inquiries
- AI Title Generator: Automatically generate catchy and relevant titles for your notes using Google Gemini AI
- Chat with Notes: Engage in a conversation about your notes with an AI assistant, powered by Google Gemini
- AI-Powered Note Manipulation: Use special commands to modify your notes with AI assistance
- Voice-to-Text Conversion: Convert spoken words into text notes with AI-powered enhancement
Our app includes powerful AI-driven commands to help you manipulate and enhance your notes:
- /edit: Allows you to make specific edits to your note content using natural language instructions.
- /update: Similar to /edit, but typically used for broader updates or additions to your note.
- /rewrite: Completely rewrites your note while maintaining the core message, useful for improving clarity or changing the tone.
- /addemoji: Enhances your note by adding relevant emojis to key points or sections.
- /translate: Translates your note content into a specified language.
- Easily categorize and visually organize your notes with a selection of colors
- Choose from a range of preset colors when creating or editing a note
- Quickly identify note categories at a glance in the main notes list
- Filter notes by color for efficient organization
- Archive: Move less frequently used notes to the archive for a cleaner main view
- Trash: Safely delete notes with the ability to restore them within 30 days
- Auto-deletion: Notes in the trash are automatically deleted after 30 days
- Create standalone reminders or attach reminders to specific notes
- View reminders in a calendar interface
- Set custom date and time for each reminder
- Receive local notifications for reminders
- Edit and delete reminders easily
- Sync reminders across devices using Firebase
- Automatic deletion of expired reminders
- Toggle between light and dark modes
- Choose from a variety of theme colors
- Adjust font size for better readability
- Select preferred font family
- Preview theme changes in real-time
- Convert spoken words into text notes using advanced speech recognition
- Real-time transcription with visual feedback
- AI-powered enhancement of transcribed text into well-structured notes
- Intuitive interface with a floating action button for easy recording
- Clear visualization of recording status with animated microphone icon
- Options to clear, re-record, or convert the transcribed text
- Extract text from images using Google ML Kit
- Support for both camera capture and gallery image selection
- Automatically append extracted text to your note content
- User-friendly interface for seamless integration with note-taking workflow
- Access all app customization options in one place
- Easily toggle dark mode
- Select theme color from a dropdown menu
- Adjust font size using a slider
- Choose font family from available options
- Preview text changes in real-time
- π± Flutter for cross-platform development
- π Firebase Authentication for secure user management
- ποΈ Firebase Firestore for real-time data storage
- π Firebase Remote Config for dynamic app updates
- π€ Google Gemini for AI-powered features
- π AES encryption for robust data protection
- π flutter_staggered_grid_view for dynamic note layouts
- π animated_text_kit for engaging text animations
- π url_launcher for opening links within notes
- π€ share_plus for sharing note content
- πΎ shared_preferences for local data storage
- π¨ flutter_colorpicker for color selection
- π table_calendar for calendar view
- π flutter_local_notifications for local reminders
- π firebase_messaging for cross-device sync of reminders
- π¨ Provider package for state management and theme customization
- π£οΈ speech_to_text for voice recognition
- π‘ google_generative_ai for AI-powered text enhancement
- β¨ avatar_glow for visual recording indicator
- π· image_picker for selecting images from gallery or camera
- πΌοΈ google_mlkit_text_recognition for extracting text from images
- π intl package for date formatting
- π₯ Clone the repository
- π¦ Install dependencies using
flutter pub get
- π§ Set up Firebase
- Create a new Firebase project
- Add your Flutter app to the Firebase project
- Download and add the configuration files to the appropriate directory
- Enable Authentication and Firestore in your Firebase console
- Set up Remote Config for app updates
- π€ Set up Google Gemini
- Obtain an API key for Google Gemini
- Add the API key to your
key.dart
file (ensure it's kept secure and not exposed in public repositories)
- π Set up Encryption
- Generate a secure encryption key and initialization vector
- Store these securely (consider using Flutter's secure storage options)
- Set up Speech-to-Text
- Add the
speech_to_text
plugin to yourpubspec.yaml
- Ensure necessary permissions are set in
AndroidManifest.xml
andInfo.plist
- Add the
- Configure Google Generative AI
- Add the
google_generative_ai
plugin to yourpubspec.yaml
- Set up your API key for Google Generative AI
- Add the
- Configure local notifications
- Add the flutter_local_notifications plugin to your pubspec.yaml
- Initialize the plugin in your app
- Set up Image-to-Text
- Add the
image_picker
andgoogle_mlkit_text_recognition
plugins to yourpubspec.yaml
- Ensure camera and gallery permissions are set up correctly
- Add the
βΆοΈ Run the app usingflutter run
- π€ Register or login with a sleek, user-friendly interface
- β Tap the floating action button to add a new note or todo
- βοΈ Fill in the title, content, and an optional link for your note
- π§ Use the AI title generator to create a title based on your note content
- π¨ Select a color for your note to categorize it
- π·οΈ Add tags to your notes for easy filtering
- π Pin important notes to keep them at the top of your list
- πΎ Tap 'Save Note' to store your encrypted note securely
- π Use the search functionality in the app bar to find specific notes or todos
- π¬ Chat with your notes to get AI-powered insights and answers
- π€ Use AI commands (/edit, /update, /rewrite, /addemoji, /translate) to manipulate your notes
- π Toggle between light and dark modes for comfortable viewing
- ποΈ Archive notes you don't need frequently
- ποΈ Move notes to trash and restore them if needed
- π¨ Use color filters to browse notes by category
- π Set a PIN to lock sensitive notes
- π Reset your PIN if forgotten, using email verification
- π Receive prompts for app updates when available
- β° Access the reminder screen from the main menu
- π View your reminders in a calendar format
- β Add new reminders by tapping the "Add Reminder" button
- ποΈ Edit reminders by tapping on them in the list
- ποΈ Delete reminders by swiping left on the reminder item
- π Receive notifications for your reminders at the set time
- π Attach reminders to specific notes for better organization
- βοΈ Access the Settings screen to customize app appearance
- π¨ Choose your preferred theme color
- ποΈ Adjust font size and family for better readability
- π Toggle dark mode easily from the Settings screen
- ποΈ Access the voice note feature from the add screen
- π£οΈ Tap the microphone button to start recording your note
- π Watch as your speech is transcribed in real-time
- π§ Use the AI-powered conversion to transform your voice note into a structured text note
- πΎ Save or edit the converted note as needed
- π· Use the image-to-text feature to extract text from images
- πΈ Capture an image or select from gallery to extract text
- π Review and edit the extracted text before adding it to your note
- β Create new todos by tapping the floating action button in the Todo List screen
- π Set reminders for individual todos with date and time
- βοΈ Mark todos as completed by tapping the checkbox
- π Search for specific todos using the search bar
- ποΈ Long-press on a todo to edit or delete it
- π Swipe left on a todo to quickly delete it
- π€ Generate AI-powered todo lists by providing context or description of tasks
- π View prioritized todo lists with time estimates (AI-generated)
- π Receive local notifications for todo reminders
- Color-coded notes for easy visual categorization
- Card-based layout for better organization
- Staggered grid view for dynamic note display
- Animated text effects for engaging user experience
- Responsive design for various screen sizes
- Customizable color filters for note browsing
- Drawer menu for easy navigation between notes, archive, and trash
- Calendar view for easy reminder management
- Sleek reminder creation and editing interface
- Comprehensive Settings screen for app customization
- Real-time theme preview in Settings
- Animated microphone button for clear recording status indication
- Bottom sheet interface for voice note recording and conversion
- Real-time transcription display in a scrollable container
- Image-to-text interface integrated seamlessly with note creation
Contributions, issues, and feature requests are welcome. Feel free to check issues page if you want to contribute.
Piyush Bhardwaj
- Flutter framework
- Firebase platform
- Google Gemini AI
- flutter_staggered_grid_view package
- animated_text_kit package
- url_launcher package
- share_plus package
- intl package for date formatting
- shared_preferences package
- flutter_colorpicker package
- encrypt package for AES encryption
- table_calendar package for the calendar view
- flutter_local_notifications package for local reminders
- firebase_messaging for cross-device reminder sync
- Provider package for state management
- speech_to_text package for voice recognition
- google_generative_ai package for AI-powered features
- avatar_glow package for visual feedback
- image_picker package for image selection