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
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
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
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
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
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.
67 to 100
Real demand, and enough of it that the topic can carry a video on its own.
34 to 66
Steady interest without a spike. Fine for evergreen coverage, thin for a news style upload.
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
- 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.
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
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
- 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
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.