G
YouTube TikTok Games
Skip to content

About

A simple 180-day Korean learning tracker that runs directly in the browser.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

Korean Study Journal

A simple 180-day Korean learning tracker that runs directly in the browser.

Features

  • Track Vocabulary, Writing, Speaking and Listening, each with an estimated time (e.g. "Vocab · 10m") so you know what a day actually costs
  • A per-day study timer - start, pause, and reset it while you work, and it keeps counting even if you check off tasks or navigate away mid-session
  • A "Time studied" total in the header stats, tallied from every day's timer
  • Each day links out to the two resources that actually match its goal: a study link (Hangul lesson, Billy playlist, or Talk To Me In Korean, depending on what the day covers) and a listening link (Comprehensible Korean)
  • A Resources modal (via the button in the controls row) listing every course, listening channel, dictionary, and app used across the plan, grouped and described
  • Add daily notes
  • Set a confidence level from 1–5
  • View weekly and monthly progress
  • Change the study start date
  • Automatically save progress in the browser
  • Download and restore progress backups
  • Install as an app on supported phones and browsers
  • Offline support through a service worker

How It Works

The app is completely client-side. No backend or database is required.

Files

  • index.html - App interface, layout, and styles
  • app.js - App logic: progress tracking, resource/duration resolution, the study timer, and local storage
  • data.js - 180-day Korean study plan, plus the resource library and per-day metadata
  • manifest.json - Makes the website installable as a PWA
  • sw.js - Provides offline support
  • icons/ - App icons

Your progress is stored in the browser using localStorage, including the accumulated time on each day's timer.

Use Download backup to save your progress as a JSON file.

Use Restore backup to import the saved progress again.

Data shape

data.js exports a single APP_DATA object:

  • resources - a flat map of resource keys to URLs (billyBeginner, billyHangul, ttmik, comprehensible, naver, anki). This is the only place a URL needs to change if a link ever moves.
  • months / weeks - the six-month arc and week-by-week breakdown shown in the stepper and week headers.
  • days - one entry per day, each with:
    • topic - what the day covers
    • vocab / writing / speaking / listening - the task descriptions shown as checklist items
    • durations - estimated minutes for each of those four tasks (parsed from the task text where a time is mentioned, otherwise a sensible default)
    • studyRes / listenRes - which resources key to link to for the main study task and for listening practice

Resource labels and icons (what's shown on the link chip, and in the Resources modal) live in app.js, in RESOURCE_LABELS and RESOURCE_GROUPS - so adding a new resource is: add its URL to resources in data.js, then add its label/description in app.js.

Run Locally

You can run the app with any simple local web server.

For example:

python3 -m http.server 8000

Then open:

http://localhost:8000

Important

For PWA installation and offline support on a deployed website, use HTTPS.

GitHub Pages provides HTTPS automatically.

License

MIT

About

A simple 180-day Korean learning tracker that runs directly in the browser.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages