How to track your immersion hours on YouTube, automatically

immersionyoutubetracking

Most people who track immersion hours start with a spreadsheet (the comparison of immersion trackers covers the other ways). Most of them stop within a month. Not because the idea is wrong, but because a spreadsheet depends on the one thing an immersion habit is trying to remove: remembering to do something after the video ends.

The short answer. To track immersion hours on YouTube automatically, install a Chrome extension that reads time from the video player rather than from a clock, tell it which language you are learning and which you already speak, and watch as normal. Kiku Hours does this for free with no account. It counts the minutes a video actually played, so ads, pauses and skipping around add nothing and a tab hidden behind your work still counts. It listens to each video’s audio to identify the language, so a video in a language you already speak is recorded but held out of your total, with the held-back time shown, and when the language cannot be identified the time is not counted rather than guessed. The side panel shows today’s total live, a streak, a calendar of the year and every video listened to today. It also works on Twitch, Kick, Vimeo, Dailymotion, TED, Bilibili and Niconico, and everything stays in your browser.

Why spreadsheets fail

The spreadsheet is not the problem. A spreadsheet is a fine place to keep a number; it is a poor instrument for producing one. Every row depends on you noticing that a video has ended, estimating how long you actually listened, remembering whether there was an ad break, deciding what language it was in, and typing all of that in before the next video starts. On a good evening you do it. On an ordinary one you do it the next morning from memory, rounding up. By the third week there is a gap of four days, and back-filling a gap from memory is where a log stops being a record and becomes a guess.

There is a quieter failure too. A spreadsheet only records what you thought to record. Most have a column for minutes and none for whether the video was in the target language, because at the moment of typing that seems obvious. Six months later the total contains an unknown quantity of recaps, tutorials and English commentary, and there is no way to take it back out. The reasons “minutes watched” misleads all apply, with the added disadvantage that the padding was entered by hand.

What a tracker has to get right

Automatic tracking sounds simple, count the minutes, but the details decide whether the number means anything.

Count from the player, not from a clock. The obvious approach is a timer that runs while a tab is open. It is wrong in both directions: browsers slow timers in hidden tabs, so the ten minutes you listened while cooking becomes two; and a laptop that sleeps mid-video keeps the timer’s memory of the whole nap. Reading the player’s own position every second and crediting the difference fixes both. A hidden tab keeps counting because the player keeps playing. A nap credits nothing because the player didn’t move.

Exclude what isn’t input. Ads, pauses, buffering and skipping around. A tracker that counts an ad break has quietly added a few percent to every number you’ll ever see, and you cannot detect it afterwards.

Know the language. This is the one most trackers skip, and it is the one that matters. A Japanese learner’s YouTube session includes English recaps, an English tutorial they got distracted by, and a Japanese video with English commentary. Counting all of it as Japanese is how a log drifts from the truth. The tracker needs to hear the audio and decide, and, just as importantly, it needs to admit when it isn’t sure rather than guess.

Keep the receipts. Store every stretch of time separately, with the video it came from, so you can see what was counted. A single running total that you cannot inspect is a number you have to take on faith.

Count the time it took, not the video’s length

One more rule, easy to miss. Learners change playback speed constantly, slowing learner content down and speeding familiar content up, and a log that records the video’s length credits the wrong figure every time. An hour of video at 2× took thirty minutes of your life and should count as thirty. The roadmaps that put comfortable listening at a thousand hours or so are counting hours you spent, not hours of footage, so the elapsed time is the number to keep, with the rate shown beside it so the difference is explained.

Setting up Kiku Hours

Kiku Hours is a Chrome extension built around those rules. Setup is two questions.

  1. Install it from the Chrome Web Store, or from Firefox Add-ons if you use Firefox, and open the side panel (the sidebar, in Firefox) from the toolbar icon.
  2. Say what you already speak when it asks. Those languages are recorded but held out of your total. You do not have to say which language you are learning; each video’s language is worked out by listening.
  3. Press play on YouTube, Twitch, Kick, Vimeo, Dailymotion, TED, Bilibili or Niconico.

From then on the panel shows today’s total counting live, the last seven days, and every video listened to today with its minutes and language. A language label appears after about a minute of listening, once two separate checks agree. Video in a language you already speak is recorded but held out of the total, and the held-back amount is shown next to the number it came out of.

The languages you already speak

This is the one question the extension asks, and it matters. Every language you declare as already spoken is one whose time will be recorded and held out, so an English speaker who also grew up with Hindi should list both, or Hindi videos will count as input. You can learn more than one language at once, and the panel breaks the day down by language when there is more than one. The extension recognises 106 languages, and the analysis happens on your own computer; nothing you watch is sent anywhere.

Once a video has been labelled the label is remembered, so a video you return to costs nothing to relabel. When the label cannot be settled, because the speaker is under loud music or there is hardly any speech, that video’s time is not counted. Nothing is guessed, and nothing is padded; the minutes are kept, and join the total if the video is labelled on a later visit.

What it deliberately doesn’t do

On Netflix the language comes from the audio track you pick in the player, and nothing is counted until it is known. Other streaming services that encrypt their audio, Crunchyroll among them, aren’t covered yet. It runs in Chrome, Brave, Edge and the other Chromium browsers, and in Firefox; Safari isn’t supported. And it doesn’t tell you whether you understood the video. That judgement is yours. Its job is to make sure the number you write down next to that judgement is true.

It also does not run on a phone. It is a Chrome extension for a computer, and a tablet or phone app is not something a browser extension can be.

Reading the numbers

The Today tab is for the question “how am I doing now”. It has the day’s total, the goal, the streak, and the list of everything that counted today, including the video that is playing. Set the goal to what you will do on a tired weekday, not your best Sunday; a streak is built on a floor you can always clear.

The Progress tab is for “how is this going”. It has the all-time total, a cumulative line for the year that only ever climbs, the last twelve weeks as bars, and a calendar of every day of the year shaded by how much you listened, with the current and longest streak beside it. Achievements mark the hours, streaks and days-with-input you have crossed, each dated the day it happened. Every figure on both tabs is drawn from the same record, so the calendar, the bars and the headline can never disagree.

Beyond YouTube

YouTube is where most immersion happens, but not all of it. Twitch and Kick streams count as you watch, and a channel’s time accumulates across evenings, so a favourite streamer becomes a running total in its own right. Niconico and Bilibili carry Japanese and Chinese content that never reaches YouTube. Vimeo, Dailymotion and TED round the list out. All eight feed the same ledger, so an hour on Twitch and an hour on YouTube look identical on the Progress tab.

Your data, and the spreadsheet if you want one anyway

Everything the extension records lives in your browser. There is no account, no server holding your history and nothing to pay. Back the log up to a file from the panel and restore it on another computer when you change machines.

Everything it records can also be exported as a spreadsheet, one row per interval, with the video, the time and the language. If you like your own charts, keep them. If you are arriving from a year of hand-typed rows, export the new log and merge the two. The part worth automating was never the chart. It was the counting, and the home page has the install link.


Kiku Hours is a free Chrome extension that counts the hours of comprehensible input you actually listened to.

Add to Chrome