Notely AI is a modern note-taking application with AI-powered features, built using Flutter. It combines the simplicity of note-taking with the power of artificial intelligence to help you organize and manage your notes more effectively.
From left to right: Home Screen, Note Creation, AI Chat, and Note Management interfaces
- Create, edit, and delete notes
- Beautiful card-based UI with grid and list views
- Rich text formatting
- Note categorization with tags
- Favorite notes for quick access
- Search functionality
- Timestamp tracking
- AI-powered chat assistant
- Smart note analysis
- Context-aware responses
- Natural language processing
- Intelligent note suggestions
- Material Design 3
- Dark/Light theme support
- Responsive layout
- Smooth animations
- Intuitive navigation
- Beautiful gradients and visual effects
- Encrypted note storage
- Secure data handling
- Privacy-focused design
- Notes are stored locally using Hive database
- Data is persisted between app sessions
- Automatic data synchronization
- Secure storage with encryption support
- Notes are stored in the app's local storage directory
- Hive boxes:
notes: Stores all user noteschat_messages: Stores chat history
Note: Persisted in Hive with automatic serializationChatMessage: Stored in Hive for chat history
lib/
├── main.dart # Application entry point
├── models/ # Data models
│ ├── note.dart # Note model with Hive integration
│ └── chat_message.dart # Chat message model
├── providers/ # State management
│ ├── notes_provider.dart # Notes state and CRUD operations
│ └── chat_provider.dart # Chat state and AI interactions
├── screens/ # UI screens
│ ├── home_screen.dart # Main notes screen with grid/list views
│ └── chat_screen.dart # AI chat interface
├── services/ # Business logic and external integrations
│ └── ai_service.dart # Gemini AI integration service
└── widgets/ # Reusable UI components
├── note_card.dart # Note card widget for grid/list views
├── search_bar.dart # Custom search bar implementation
└── chat_bubble.dart # Chat message bubble widget
└── utilities/ # Utility functions and constants
├── colors.dart # App color constants
├── encryptor.dart # Data encryption utilities
├── local.dart # Local storage utilities
└── screen.dart # Screen size utilities
Note: Represents a note with title, content, timestamps, and Hive persistenceChatMessage: Represents an AI chat message with user/AI role and timestamp
NotesProvider: Manages note state, CRUD operations, and Hive persistenceChatProvider: Handles chat history, message state, and AI interactions
HomeScreen: Main interface with note management, search, and AI chat accessChatScreen: AI chat interface with message history and real-time responses
AIService: Handles Gemini AI integration, prompt engineering, and response processing
NoteCard: Reusable card widget for displaying notes in grid/list viewsSearchBar: Custom search implementation with real-time filteringChatBubble: Message bubble widget for the chat interface
- Flutter SDK (latest version)
- Dart SDK (latest version)
- Google AI API key
- Clone the repository
git clone https://github.com/roxm337/notely_ai.git- Install dependencies
flutter pub get- Create a
.envfile in the root directory and add your API key
GOOGLE_AI_API_KEY=your_api_key_here
- Run the app
flutter runflutter: UI frameworkprovider: State managementhive: Local storagegoogle_generative_ai: AI integrationflutter_markdown: Markdown renderingflutter_staggered_grid_view: Grid layoutencrypt: Data encryptionflutter_dotenv: Environment variables



