Skip to content

Repository files navigation

WDYL (What Did You Learn)

A small Flutter app for keeping a daily record of what you learned. You write a short note each day, optionally tag it, and later export the whole log so you can turn it into resume or review material.

Why it exists

I kept learning small things at work, a framework here, a config flag there, and forgetting all of it by the time I needed to write a resume or a self review. I wanted a plain place to jot those down and get them back out in a useful format. There wasn't an app that did just this without pulling in Google Services, so I wrote one and decided to open source it.

Everything stays on the device. There is no account, no network calls, and no Google Services dependency.

Features

Daily entries. Write what you learned today. You can add more than one entry per day, and edit or delete any entry later from the calendar or by tapping it.

Badges. Create colored tags and attach them to entries to group related topics.

Calendar. Browse past days and open any entry from there.

Search. Find entries by keyword, and filter by badge.

Progress. A small dashboard shows your current streak, longest streak, total entries, entries this month, and your most used badges.

Themes. Five color schemes, each with a light and dark variant.

Export. Save your entries as JSON, CSV, or PDF. You can export a date range, a month, or a whole year, and narrow it to specific badges. On Android the files land in Download/WDYL. On desktop they go to your Downloads folder.

Copy as AI prompt. Instead of exporting a file, you can copy your entries wrapped in an instruction and paste that straight into any chat assistant to draft resume bullets, a summary, or review notes.

Backup and restore. Save a full JSON backup, optionally on a daily, weekly, or monthly schedule, and import one back later. Import can either merge with your existing entries or replace them.

Platforms

Android is the primary target and is the most tested. Linux and Windows desktop are supported as well. iOS and macOS should build but have not been tested here. Web is not supported yet, because a couple of features rely on the local file system and a native Android channel.

Data is stored in a local SQLite database. On desktop this uses the FFI build of SQLite.

Getting started

You need the Flutter SDK. This project is built against Flutter 3.44 (stable).

git clone <repository-url>
cd wdyl
flutter pub get
flutter run

To run on a specific platform:

flutter run -d linux
flutter run -d windows

Building the Linux desktop app needs a few system packages:

sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev build-essential

Building releases

flutter build apk --release        # Android
flutter build linux --release      # Linux
flutter build windows --release    # Windows

The Android APK is written to build/app/outputs/flutter-apk/app-release.apk.

Note that release builds are currently signed with the debug keystore. That is fine for sideloading and testing, but you will need to set up a real signing config before publishing to the Play Store.

Continuous integration

A GitHub Actions workflow in .github/workflows/build.yml runs formatting checks, analysis, and tests on every push and pull request, then builds the Android, Linux, and Windows binaries. Pushing a version tag such as v0.1.0 also publishes a GitHub Release with those binaries attached.

Project layout

lib/
  main.dart              App entry point and database setup
  models/                Data types (entry, badge, stats, import payload, theme)
  providers/             Theme state
  screens/               UI (home, detail, search, stats, export, backup, ...)
  services/              Database, export, import, backup, prompt building
test/                    Unit tests for stats, import parsing, and prompts

Development

flutter analyze
flutter test
dart format .

License

Copyright (C) 2026 Samarth Kombemane

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. See the LICENSE file for the full text.

About

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.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages