TubeWiser
Reads my YouTube backlog so I do not have to, and tells me which three videos actually matter for what I am building.
136 commits · first 22 Feb 2026 · last 22 Oct 2026 · 242 days · tubewiser.ai
commits per week, counted from the repository when this page was last built

Five hundred saved videos, none of them watched
My Readwise library and my YouTube watch-later list had turned into a guilt pile. Every talk I saved was a talk I meant to learn from, and the pile only grew. The honest number on the landing page is mine.
The question was not how to watch more. It was whether a machine could read the transcript, tell me what the video claims, and score it against the four or five things I am actually working on this quarter, so that I open three videos a week instead of none.
First commit
60c0d2c 22 Feb 2026
The first commit is already a refactor. The prototype existed before it had a repository, which is how most things here start: a script proves the idea, then it earns version control. What went in that day was the Claude API layer and a split into modules.
Running on the subscription instead of the meter
95b13bc 27 Feb 2026
Five days in, the expensive part was obvious: summarising thousands of transcripts through a metered API would cost more than the product could ever be worth to me. This commit added a command-line backend that runs the same prompts through my Claude subscription. It is the reason the whole thing was affordable enough to keep.
Twenty-one features in one sitting
aa4664c 1 Mar 2026
A backlog of twenty-one items, from video management to performance, landed as a single commit. Looking back it is the pattern of that first spring: big evenings, huge commits, no tests. The tests came later, after the first thing broke in a way I could not explain.

Goals become the centre
65d709b 10 May 2026
By May the product had found its actual idea. Not summaries, which every tool does, but relevance: you type your goals in plain language, and every video gets a score against them. This commit brought the goal forms and a bookshelf, and the interface was overhauled around that one loop.

No transcript, no briefing
4b67c80 27 May 2026
A video without a transcript used to get a briefing anyway, written from its title and description. That is a confident summary of something nobody read. From this commit on, a YouTube asset must have a transcript before it may be briefed, and the ones without one drop to the bottom of the feed instead of pretending.
The counter counts only what happened
85de527 2 Aug 2026
The status line said five briefing cards had been generated. The grid below it was empty. Both were true: the cards existed, attached to videos from 2014 and 2023 that the seven-day filter could never show. The fix was to build the status line at render time from what the filter actually lets through, not from what the generator did.

The delete button waited one to two minutes on a stranger
878fff1 31 Aug 2026
Pressing the bin left the card sitting there for one to two minutes, so people pressed it again. The interface was not at fault. Before deleting anything of its own, the request first waited for a membership check against a third party — with a cold cache around thirty calls in a row, none of them with a time limit.
The comment above that code had always said the third-party work runs in the background. That was true of the cleanup afterwards and false of the check in front of it, and the comment had been read as covering both. It now deletes locally, answers immediately, and talks to the outside world afterwards.
What it does tonight
It runs as a service on the home server, syncs my channels and my Readwise saves, extracts transcripts, and writes a briefing for anything new every two hours. I read the briefing on my phone and open two or three videos a week. That is the whole point.
Runs on its own
- YouTube and Readwise sync, with pacing so it never hammers either API
- transcript extraction and structured summaries
- scoring every asset against my current goals
- briefing cards, generated in the background, never for a video without a transcript
Stays with me
- the goals themselves are typed by me, in plain language
- reading, and deciding what to actually watch
- adding a new channel
Cost per briefing is not measured on this page. It runs through the subscription backend, which is why it was affordable enough to keep.



Where this goes
Early access is open and the waitlist is real. The next thing I want is honest telemetry: how many briefings I open, how many videos I then watch, so the score can be measured against my behaviour rather than my intentions. Until then the numbers above are counts, not claims.