What I automated

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

The tubewiser.ai landing page on a phone: five hundred saved videos, zero watched

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.

The problem section on tubewiser.ai: forty hours of unwatched content, two hours wasted per video, a growing backlog
The problem, as the landing page states it today. The forty hours are not a metaphor.

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.

How it works on tubewiser.ai: connect channels, extract transcripts and summaries, score against goals, with three phone screens from the app
How it works: connect, extract, score. The three phone screens are the real app; the middle one is where I actually live in it.

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.

Feature section of the landing page: video summaries with takeaways, goal scoring, morning briefings
The three features that survived: summaries with timestamps, scoring against goals, a morning briefing.

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.