UpswingBeta

How it works

What every number means.

Every number in Upswing is trying to answer one question: is this video worth making? Here’s what each one measures, where it came from, and how much to trust it.

Start here

The sixty second version.

Four steps, then the rest of this page explains each number in detail.

  1. 1

    Search a topic

    Type what you’re thinking of covering. Broad works (“smart home”), specific works better (“Matter thread border router”). The topic is passed straight to Google and YouTube as a search query, so phrase it the way a viewer would.

  2. 2

    Read the Trend Score

    One number, 0 to 100, for whether people want this right now. Then look at the two source cards underneath to see which part of that number is search demand and which part is video supply.

  3. 3

    Check what’s rising

    The searches climbing fastest are usually a sharper topic than the one you typed. Click any of them to run a fresh search on it.

  4. 4

    Generate ideas, then titles

    Ideas reads the top videos already ranking and looks for what they leave uncovered. Titles learns the patterns from what’s winning on the topic and writes new ones in those shapes.

One rule the whole app follows

Nothing here is invented. If a source fails or has nothing to say, its card says so and the score leaves it out rather than guessing. When you see a number, a real API returned it. When you see an estimate from Claude, it’s labeled as one.

The Trend Score

One number, built from two halves.

Every source gets its own 0 to 100 subscore. The Trend Score is those subscores averaged by weight.

Each source subscore is half level and half momentum. Level asks how big the topic is right now. Momentum asks which way it’s moving, comparing the most recent 7 days against the 3 weeks before them. A perfectly flat topic scores exactly 50 on momentum, so a high total needs either real size or real acceleration.

The two are then combined by weight: Google Trends for 53% and YouTube for 47%, stretched to fill 100% because Reddit, X and TikTok are not connected yet. A source that fails on a search drops out the same way and the rest stretch to cover it, so one broken API costs you confidence rather than dragging the number toward zero.

Strong

67 to 100

Real demand, and enough of it that the topic can carry a video on its own.

Moderate

34 to 66

Steady interest without a spike. Fine for evergreen coverage, thin for a news style upload.

Weak

0 to 33

Either genuinely quiet, or too niche for these sources to see. Check the source cards before writing it off.

The big numberCenter of the ring
The weighted average described above, rounded. The ring fills proportionally, so it’s a visual read at a glance.
Combined, vs prior 3 weeksTile under the ring
How much the last 7 days changed against the 23 days before them, averaged across live sources by the same weights. Anything past 15% in either direction flips the topic to rising or cooling; inside that band it reads as holding steady.
Higher than 8 of your last 10 searchesUnder the ring
A score means little on its own, so this compares it against the Trend Scores your own recent searches had when you ran them. It appears once you have at least four other topics in your history, and repeats of the same topic only count once.
Sources liveTile under the ring
How many of the five sources returned usable data. Two of five is normal right now. One of five means the score rests entirely on one API and deserves less trust.
The source barsBottom of the card
Each live source’s own subscore, with the weight it was given after renormalizing. Multiply and add them together and you get the big number.

Google Trends

Demand, indexed against itself, and the phrases behind it.

This card is about what people are typing into Google. It’s the demand half of the picture.

The one thing to understand about Google Trends

Interest is never an absolute count of searches. Google scales every point against the single busiest day inside the window you asked for, which here is the last 30 days. A topic sitting at 100 means “as busy as it has been all month”, not “busy compared to other topics”. A tiny niche at 100 can have a fraction of the real search volume of a huge topic sitting at 40. Use this card to read a topic’s shape over time. Don’t use it to compare two different topics’ size.
Search interestThe chart
One point per day for the last 30 days, oldest on the left. Worldwide, all categories, English results.
Interest nowStat under the chart
The average of the last 7 days on that chart. This is the level half of the Google subscore.
This week vs prior 3 weeksLine under the chart
The last 7 days of interest against the 23 before them, as a percentage. This is the momentum half. A topic can be small and still score well here if it just woke up.
BreakoutOrange chip, related queries
Google’s own label for a query growing too fast to put a percentage on, which in practice means over 5,000%. Almost always something brand new: a leak, a launch, or a problem people just started hitting. Shortest window, highest reward.
+250%, +90%Rising chips
Growth in that query over the last 30 days against the period before it. Still early, with a little more runway than a breakout.
A plain numberAlso searched chips
Relative popularity out of 100 within this group of related queries, not growth. These are the reliable evergreen phrasings people use for the topic, worth having in a title or description even when they are flat.
Every chip is a linkRelated queries
Clicking one runs a full search on that phrase, which is the fastest way to narrow a broad topic into a specific video.

The data comes from Google Trends through SerpApi, two requests per topic: one for the daily chart, one for the related queries. Days Google marks incomplete are dropped rather than charted as a dip.

YouTube

Supply, and how well it’s performing.

Google tells you people want something. YouTube tells you how many creators already noticed, whether their videos are landing, and how old the best answer is.

The sample is the 50 most relevant videos published on the topic in the last 30 days, in YouTube’s own relevance order, and every view figure is a median rather than an average so one runaway hit cannot drag the picture up. A count on its own answers almost nothing: forty eight videos describes both a topic three channels shipped on last week and a topic whose best answer is fourteen months old from a channel that has since moved on. Age is what separates them.

Uploads per dayThe chart
How many of those videos were published on each of the last 30 days. Rising supply on a topic that is not rising in search is the classic sign of a space getting crowded.
Views per dayStat
The median video’s total views divided by the days since it went up, which is fairer than raw views because a video from three weeks ago has had three weeks to gather them. Full marks arrive around 50,000 a day.
Views per subStat
The median video’s views divided by its channel’s subscriber count, and the most useful number on the card. Above 100% means videos on this topic are reaching well past the channels’ existing audiences, which is what happens when YouTube pushes a subject into browse and suggested. Reads n/a when every channel in the sample hides its count.
Median age of the top 20Supply
The middle age of the results someone searching this would actually see. Past 6 months Upswing calls the supply stale and says so.
In the last 90 daysSupply
How many landed recently. At 3 or fewer, nobody is actively defending the topic, which is the opening worth having.
Google search vs YouTube searchDemand
The same topic measured against Google’s web search and against YouTube search, both from Google Trends. A topic people Google heavily but rarely search on YouTube is one they want to read rather than watch.
LatelyShow the working
Whether a competing video is still picking up views. YouTube returns a running total and no history, so Upswing records what each video has each day and compares. Empty until there are 3 days of readings.

The YouTube search reading is shown but not scored.

Adding it to the Trend Score would change how every score is calculated, quietly invalidating every prediction already recorded against the old one. The record of whether the score was right is worth more than a slightly different number.

The level half of the YouTube subscore averages three signals: how many videos, how fast the median one earns views, and how far it travels past its own subscriber base. All three use a log scale, so the gap between 500 and 5,000 views a day moves the score far more than the gap between 45,000 and 50,000. The momentum half compares uploads in the last 7 days against the 23 before them. Both halves are indexed rather than counted, so Upswing says which way a topic leans and roughly how hard, and refuses to turn that into a ratio of searches, which it is not.

Across the year

Whether this is the right month.

The Trend Score reads the last 30 days. It has no idea that a topic peaks every September.

Under the source cards is a second Google Trends reading over 12 months, folded into calendar months. Each bar is the average interest across that month, the brand coloured bar is the peak and the blue bar is now. The swing figure is the peak month divided by a typical one: below 1.6× the year is called flat and timing is not your problem.

Busiest in September, 2 months outHeadline
The peak month, and the distance to it. Two months out on a hardware launch is usually the moment to start, not the moment to abandon it.
now at 34% of peakUnder the bars
Where current interest sits against the busiest month. Low is not bad on its own: it is only bad if the peak has just passed.
2.4× swingTop right
Peak month against the typical month. Under 1.6× the year is called flat.

One year of data cannot prove a season

Twelve months contains exactly one September. A single viral week and a genuine annual pattern look identical here. Treat this as a prompt to check your own memory of the category, not as proof. It takes a second year before the word “every” belongs in a sentence about it.

It costs one extra Google Trends call, so it is kept 7 days rather than 6 hours and loads after the score. Under 10 months of history it draws nothing rather than guessing.

Competition

Who answers the same questions you do.

Paste a channel link and Upswing reads what it publishes on, searches those subjects to see who else keeps ranking, and then compares their catalogue against yours.

Nobody is asked who their competition is, because most people answer that question with the channels they admire rather than the channels taking their views. The list here is worked out from search: a channel that ranks for 2 or more of your own subjects is competing with you whether or not you had it in mind. Each row shows how many, so a result you disagree with can be removed rather than wondered about.

Every comparison is a video against what its own channel’s videos of roughly the same age normally do. Never your numbers against theirs directly, because a channel ten times your size beats you on every unadjusted figure, which is true and useless.

Age is the hard part. Dividing views by age gives an average rate across a video’s whole life, and a video has no rate: it takes most of its views in the first fortnight and trickles after. That buried every established channel and made three week old videos read as fifty times normal, so videos are compared within age bands instead.

Your size bandCompetition
Channels whose recent videos do between 0.33× and 5× what yours do. Inside it, you are competing for the same viewer. Above it is the ceiling.
The ceilingCompetition
Channels far above your band. They rank for nearly everything in your subject and will keep doing so, so they are listed apart from the ones you could actually beat. Their videos never count toward a breakout or a gap.
Broke outCompetition
A video from the last 90 days doing at least 1.8× what its own channel’s videos of that age normally do. Anything under 7 days old is left out, because a video that young has not finished its opening week.
A gapCompetition
A subject your competition publishes on that pays them better than their normal. It has to carry at least 3 videos across at least 2 channels before it counts, so one person’s lucky video never tops the list. Subjects you have never covered come first.

The first pass is the one expensive thing in Upswing: each subject is a YouTube search at 100 quota units, so discovery costs roughly 800 of a daily 10,000. That is why it runs once and is stored, refreshes look only at what is new, and adding a channel by hand is nearly free.

What it cannot show you is why. Impressions, click through rate and retention belong to whoever owns a channel, and no tool can see them for anyone else. So a video here can be shown to have broken out, and never what made it.

Ideas

Gaps, scored two different ways.

Claude reads the top 20 real results on the topic plus Google’s rising and top queries, and, once a channel is attached, your own best and worst performing uploads. It then writes five ideas aimed at what those videos leave uncovered.

Two numbers on each row, and only one of them is measured

Competition is calculated from real view counts and can be checked. The score in the pill is Claude’s prediction, weighing demand against how crowded the angle already is. You can tell them apart anywhere in the app without reading a label: a solid filled pill was measured, a dashed outline is an estimate. Treat competition as fact and the prediction as a ranking hint.
YoursOn the closed row
This idea is grounded in one of your own videos rather than in the topic alone. Open the row to see which, and what it did.
From your channelIn the opened row, under the gap
The video of yours that makes this idea a fit, with what it actually did against a video of the same age on your channel. Most ideas will not have one, and that is the ordinary case rather than a fault: plenty of good openings have nothing to do with what you have made before. Claude is told to leave it out when no real link exists, because a stretched connection is worse than none.
72Dashed pill, on the closed row
Predicted performance, 0 to 100. Claude’s estimate, grounded in the data it was shown but not measured from it.
Low / Medium / High competitionDot and label on the closed row
Counted, not guessed. A video counts as strong competition if it earns 1,000 or more views per day, or has passed 100,000 total views. 3 or more strong videos on the same angle reads high, 1 or more reads medium, none reads low.
GapIn the opened row
What searchers appear to want that the existing videos don’t deliver. This is the actual argument for making the video.
Strong of similar videosIn the opened row
Strong videos out of the total already covering that angle. Two of five is a far friendlier field than two of two.
The queries beside itIn the opened row
Demand evidence, filtered so only queries that genuinely appear in Google’s lists survive. “No matching Google search” is honest rather than broken: the idea rests on the YouTube data alone.
The competing videosThumbnails in the opened row
The real videos counted as competition, with view counts, each opening on YouTube. Worth a look before you commit to an angle.
SaveButtons at the foot of the opened row
Keeps the idea in your Library, where it survives the 6 hour cache and the next search. There each idea can be moved between Idea, Making and Done, filtered by that status, and the whole list copies out as plain text for a script doc. Write titles and Open brief sit beside it.

Titles

Patterns first, then titles in those patterns.

Claude is shown the top 50 videos on the topic sorted by views per day, extracts the patterns separating the winners, and only then writes new titles.

Strongest, Strong, Worth testingRight of each title
Claude’s ranking of this set against itself. It is said as a word because it is a prediction: it used to print as a number, which dressed a guess in the same clothes as the figures on this page that were actually counted. The order is the part worth trusting.
YoursRight of a title, when it appears
This one was shaped by something measured on your own catalogue rather than by the topic.
The character countUnder each title
Counted against a 60 character ceiling. Past that, YouTube starts truncating in search results, on mobile and in suggested. Over the limit turns red.
What it read off your channelBelow the list, once a channel is attached
The videos actually behind the suggestions: the ones that beat what a video of their age normally does on your channel and the ones that came in under, each with its multiple. Nothing else you can buy can produce this, so it is shown rather than claimed.
Writing for your channelRow above the list
Once a channel is attached, your own uploads are read as well and the titles are written to fit what works on it. The switch turns it off and rewrites the same topic without it, which is the only way to see whether it helped.
The patternsCollapsed, under the list
The structures Claude found in the data, each with real videos as evidence and their views per day. Worth opening when a suggestion surprises you, because the patterns outlast any individual title.
RegenerateAbove the list
Ignores the cache and writes a fresh set. It costs a new API call, so use it when you want different angles rather than out of habit.

Before Claude sees anything, the titles are measured: median length, how many use numbers, questions, brackets, a colon, “vs”, first person, or an all caps word. Both the full 50 and the top quarter are measured separately, so the difference between them is visible rather than imagined.

Your own catalogue is read the same way. Every upload is scored against what a video of its age normally does on your channel, using the age bands Competition uses, and your best and worst performers go to Claude with what each one actually did. Six real titles from your own channel, with real numbers attached, turn out to carry more than any summary of them.

An earlier version also tried to name the patterns behind that: which words, which lengths, whether model numbers helped. It was cut after being measured against four real channels, where it correctly found nothing on any of them. Word effects on real titles are small enough that on a catalogue of this size they cannot be told apart from luck, and a panel that says so on every channel forever is worth less than the six titles. What survives claims only that these videos did better, never that the wording is what made them.

Trending, Compare, Sponsored

The three smaller screens.

One finds you a topic, one picks between two, one works after a brand has already chosen.

TrendingTop rail
Every Google Trends response carries the searches climbing around the topic, and those used to be shown once and thrown away. Trending is the kept pile: breakouts first, then the biggest rises, then the most recent. A search that came up under several of your topics is one row, and one that only repeats what you typed is dropped. Nothing here cost an API call. An empty page means you have not scored much yet rather than that nothing is happening, because it is your feed and not the internet’s.
CompareTop rail
Both topics scored at once, with a sentence at the top worked out from the gap rather than written by a model. Inside 3 points reads as level, past 25 as well ahead. The rows underneath line Google and YouTube up separately, because two topics can reach the same total for opposite reasons. Both are cached for 6 hours, so comparing two you have already searched costs nothing.
SponsoredTop rail
Give it the product and it returns the questions people are actually asking about it, plus framings the data shows demand for. The product stays the subject of every angle. Claude is told not to write advertising copy, and an angle is allowed to acknowledge a weakness.
BriefAt the foot of any opened idea
One page holding the angle, the gap, the competing videos with their view counts, the searches behind it and six title options, copyable as plain text for a script doc. Everything on it is already paid for except the titles, and those share a cache with the Titles page, so opening the same brief twice is free.

Rounds, videos, sharing

What happens to the work after it’s generated.

Three small things that stop good output getting lost.

RoundsIdeas and Titles
Every generated set is kept. Regenerate no longer replaces the previous one, so a second round that disappoints costs you nothing. Opening an old round reads the stored copy: no model call, no wait, no spend.
Link the videoSaved, on anything marked Done
Paste the YouTube link for a video you actually made. Upswing fetches its view count and puts it next to what it predicted, which is the only way to find out whether the predicted score deserves to be on the screen.
Share publiclyUnder a result
Freezes the result at a URL anyone can open without an account. They see the score, the two source cards and the rising searches, and nothing else: no search box, no generation, nothing about your history.

How the prediction check is done

Videos are compared on views per day rather than total views, so one published in March is not rewarded for having had longer. Below six linked videos Upswing says how many more it needs rather than drawing a conclusion from three. Above six, it splits them by what Claude predicted and compares what actually happened to each half, and it will tell you plainly if the prediction turns out to be backwards.

A shared link is a snapshot and stays that way. It never re-fetches, so the numbers on it are the numbers that were there when you sent it, with the timestamp saying so.

Freshness and limits

Every number carries a timestamp, and a boundary.

Under every data point is the source that produced it and when it was fetched. Knowing where the data stops is what makes the rest usable.

Updated 2h agoUnder every card
Searching the same topic again inside its window is instant and costs nothing. Google Trends is kept 6 hours because that is the half that moves day to day. YouTube is kept 24, because the videos competing on a topic read the same at nine in the morning as at nine at night. After that, the next search refetches.
30 topics a dayCounted per person
Everyone here draws on one shared YouTube allowance, so a new topic costs two searches out of a budget of roughly fifty topics for the whole app. Reopening something you already looked at today is free, and so is moving between its Overview, Ideas and Titles, because those come from the cache. The count resets at midnight Pacific, which is when Google refills the allowance.
Deleted after 30 daysEverything from YouTube
YouTube’s developer terms cap how long their data can be held, so a nightly job clears anything older than 30 days. In practice you will never see it: a topic nobody has opened in a month is fetched fresh rather than served from a stale copy. What Upswing keeps about you, and what it does not, is in the privacy policy.
Refresh failedOrange line on a card
The API was unreachable, so you are seeing the last good copy with its real age rather than a blank card. The timestamp is the honest one.
UnavailableGrey or red badge
The source errored on this search and was left out of the score entirely. The card says which error.
Not connectedChips at the bottom
Reddit is scheduled for a future update. X needs a paid API tier for search volume and TikTok has no public one at all, so both sit empty rather than being filled with something invented.

It’s worldwide, not your audience.

Both sources are queried globally with English relevance. A topic hot in one market and dead in yours looks healthy here. Your own analytics remain the authority on who actually watches you.

Fifty videos is a sample.

YouTube returns its most relevant results, not all of them. The numbers describe what surfaces for that query, which is close to what a viewer would see, but it is not a census of the platform.

Thirty days is the whole memory.

Nothing on the trend cards knows about last year. Seasonal topics and annual product cycles look like fresh movement. You will recognise those; the app will not.

Claude’s scores are opinions.

Predicted performance and the title ranking come from a model reading real data. They order things against each other usefully. They do not forecast views, and they should not be quoted as though they do.

Nothing here sees a thumbnail.

Click through rate, packaging, retention and your own audience relationship decide more than topic choice does. This tool picks what to point the camera at, not whether the video lands.

Reading it in practice

The combinations worth knowing.

No single number decides anything. These pairings are where the useful signal lives.

High score, low competition

The one you clear the schedule for. Real demand that nobody strong has served yet. Check the rising queries for the exact phrasing before you film.

High score, high competition

Worth making only with an angle the existing videos don’t have. Open the competing videos and find what they skipped. Speed matters here.

Moderate score, rising hard

Often better than a high flat score. You’re early. Small now with steep momentum beats big and static, especially on a topic with a news hook.

High views per sub, low uploads

YouTube is pushing this subject past subscriber bases and few creators have noticed. The most underrated combination on the page.

Uploads climbing, search flat

Supply arriving without demand behind it. Everyone read the same leak. Late unless you have something genuinely different.

Weak score, one source live

Not a verdict. A topic too niche for these sources to see can still be exactly right for your audience. Trust what you know about them.