A beautiful and intuitive Flutter application for tracking your daily learning journey. Capture insights, discoveries, and progress with an elegant interface designed to make reflection a daily habit.
In today's fast-paced tech world, we learn small technologies, frameworks, and tools every day, but often forget these learnings when it comes time to update our resumes. WDYL solves this problem by providing a structured way to track your daily learning achievements.
The Resume Advantage: Export your learnings in PDF, CSV, and JSON formats, then feed them to any Large Language Model (LLM) to generate well-crafted resume paragraphs. Let AI help you articulate your continuous learning journey professionally and comprehensively.
Note: I created this app initially for my own personal use, but later decided to release it as open source because I found that there was no app which has simple WDYL and export function. I also wanted to keep it free from Google Services Framework (GSF) to maintain user privacy and independence.
- Smart Entry System: Add learning entries only for today's date
- Rich Text Input: Multi-line text field with character counting
- Timestamp Tracking: Automatic timestamp recording for each entry
- Entry History: View all your learning entries in chronological order
- Custom Badges: Create personalized badges to categorize your learning
- Color Coding: Assign colors to badges for visual organization
- Flexible Tagging: Attach multiple badges to each learning entry
- Badge Management: Full CRUD operations for badge management
- Interactive Calendar: Browse through past entries with a beautiful calendar interface
- Date Navigation: Click on any date to view entries from that day
- Visual Indicators: See which days have learning entries
- Detailed View: Expand entries to read full content and see associated badges
- 10 Beautiful Themes: Choose from 5 base themes (Ocean, Forest, Sunset, Lavender, Midnight) each with light and dark variants
- Dynamic Theming: All UI elements adapt instantly to your selected theme
- Persistent Preferences: Your theme choice is saved and restored on app restart
- Accessibility: Proper contrast ratios for comfortable reading
- Multiple Formats: Export your data in JSON, CSV, and PDF formats
- Date Range Selection: Choose specific date ranges for export
- Flexible Options: Export by date range, month, or year
- Data Portability: Keep your learning data safe and accessible
- SQLite Database: Robust local storage with no external dependencies
- Data Persistence: All your entries and badges are safely stored locally
- Backup Ready: Easy to export and backup your learning history
- Flutter SDK (3.9.2 or higher)
- Dart SDK (included with Flutter)
- Android Studio / VS Code with Flutter extensions
- Android device or emulator for testing
-
Clone the repository
git clone <repository-url> cd wdyl
-
Install dependencies
flutter pub get
-
Run the app
flutter run
flutter build apk --releaseThe signed APK will be available at build/app/outputs/flutter-apk/app-release.apk
flutter build appbundle --release- Launch the app - You'll see the welcoming home screen
- Choose your theme - Tap the palette icon to select from 10 beautiful themes
- Create badges - Use the label icon to create custom badges for categorizing your learning
- Write your entry - Use the rich text field to capture what you learned today
- Add badges - Categorize your entry with relevant badges
- Save - Your entry is automatically timestamped and stored
- Review - View your entry in the "Today's Learning Journey" section
- Calendar View: Use the calendar icon to browse past entries
- Badge Management: Create, edit, or delete badges as needed
- Export Data: Use the download icon to export your learning history
lib/
βββ main.dart # App entry point with theme provider setup
βββ models/ # Data models
β βββ learning_entry.dart # Learning entry data structure
β βββ badge.dart # Badge data structure
β βββ theme_data.dart # Theme configuration
βββ providers/ # State management
β βββ theme_provider.dart # Theme state management
βββ screens/ # UI screens
β βββ home_screen.dart # Main learning entry screen
β βββ badge_management_screen.dart
β βββ export_screen.dart
β βββ theme_selector_screen.dart
βββ services/ # Business logic
β βββ database_helper.dart # SQLite database operations
β βββ export_service.dart # Data export functionality
βββ widgets/ # Reusable UI components
- Flutter: Cross-platform UI framework
- SQLite: Local database for data persistence
- Provider: State management for theme system
- Table Calendar: Interactive calendar widget
- PDF/Csv packages: Export functionality
- Shared Preferences: Theme preference persistence
The app features a comprehensive theming system with 10 distinct themes:
- Ocean: Blue tones for a calming experience
- Forest: Green palette for natural, focused learning
- Sunset: Warm orange/red tones for evening reflection
- Lavender: Purple hues for creative thinking
- Midnight: Dark theme for late-night study sessions
Each theme includes carefully chosen colors for:
- Primary actions and buttons
- Secondary elements and accents
- Text colors with proper contrast
- Surface colors for cards and backgrounds
- Shadow colors for depth
- Learning Entries: Stored with date, content, badges, and timestamp
- Badge System: Flexible categorization with colors and names
- Export Options: Multiple formats for data portability
- Local First: No internet required, all data stays on device
- Intuitive Navigation: Clear icons and tooltips for all actions
- Responsive Design: Adapts to different screen sizes
- Smooth Interactions: Fluid animations and transitions
- Accessibility: High contrast ratios and readable fonts
flutter testflutter analyzeflutter build ios --releaseflutter build web --releaseflutter build linux --release- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Flutter - the amazing cross-platform framework
- Icons from Material Design Icons
- Calendar functionality powered by table_calendar package
- PDF generation by pdf package
Made with β€οΈ for lifelong learners
Track your learning journey, celebrate your progress, and never stop growing.