Jev Content Intelligence Engine
Analyze YouTube creator content with Jev and build a ranked hook brief.
Jev Content Decoder
30 Second Summary
A creator can publish hundreds of YouTube Shorts and still have no clear answer about which openings drive views. Reviewing them one by one turns evidence into guesswork.
In this project, you will run a local dashboard that decodes up to 200 YouTube Shorts with Jev. You will compare the spoken hooks in a creator’s top and latest Shorts, then turn the evidence into a creator snapshot.
What You'll Build
You’ll paste a creator link, watch the dashboard label their Shorts, compare top and recent spoken hooks, and open a creator snapshot with the winning formula ready to share.
By the end of this project, you'll have:
- 🕵️ A two-phase creator decode that labels up to 200 Shorts from titles and descriptions, then upgrades the Top 10 and Latest 10 with spoken evidence.
- 🎣 A hook strategy check that compares the openings behind a creator’s top Shorts with the openings they use most recently.
- 📸 A creator snapshot that turns reviewed evidence into a winning formula and linked top videos you can show or share.
- ⚖️ Secret Mission: Benchmark one batched request from Jev against 10 separate requests to the comparison LLM configured in the dashboard, then explain what your measured run proves.
Are there any prerequisites?
- Install Cursor, Git, Node.js 22 or newer with npm, and uv.
- Use a Google account to create a free API key for YouTube Data API v3.
- Use a TypeSafe account with $5 in prepaid credit for Jev requests.
- Use a free Cloudflare account for the Worker, D1 storage, and transcript processing.
Before We Start
A useful creator analysis starts with a clear audience and decision. This checkpoint commits you to the creator niche you will analyze and the question your summary should answer.
Prepare Your Workstation and Accounts
Prepare Your Workstation
The Content Decoder runs locally, so your terminal needs Git, Node.js, npm, and uv before every feature can work. uv supplies uvx, which runs the audio downloader used by the hook strategy check.
You’ll check all four tools, download the repository into nextwork-jev-decoder, and open that folder in Cursor.
In this step, get ready to:
- Check Git, Node.js, npm, and uv in one terminal.
- Download the repository and install its dependencies.
- Open the nextwork-jev-decoder folder in Cursor.
Check the required tools
The version checks confirm that one terminal can download the project, run Node.js, install packages, and launch uvx tools. The repository requires Node.js 22 or newer.
- Press Cmd+Space (macOS) or the Windows key (Windows) to open system search.
- Type Terminal (macOS) or PowerShell (Windows), then press Enter.
- Check all four installed versions by running these commands:
git --version
node --version
npm --version
uv --version
Why do you need these tools?
Git downloads the project. Node.js runs it, while npm installs its packages.
uv runs yt-dlp through uvx, so the transcript helper can fetch a Short’s temporary audio without a separate yt-dlp installation.
The version output confirms that Git, Node.js 22 or newer, and npm are available.
✔️ All four checks pass
- git --version prints a Git version.
- node --version prints v22 or newer.
- npm --version prints an npm version.
- uv --version prints a uv version.
- Keep this terminal open for the repository commands below.
ⓧ Git, Node.js, or npm is missing
Git and Node.js are blocking requirements. Install the missing core tool before continuing, then repeat the four checks.
macOS
- Install Git through Apple Command Line Tools by running:
xcode-select --install
What does this command do?
This opens Apple’s Command Line Tools installer. The package includes Git, so the command prepares macOS for cloning the repository.
- Approve the Command Line Tools installation dialog.
- Open the official Node.js downloads page if Node.js or npm is missing.
- Download the current macOS LTS installer for Node.js 22 or newer.
- Run the downloaded package.
- Accept the installer’s default options.
- Open a new Terminal window.
- Repeat the four version checks.
Windows
- Install Git through WinGet by running:
winget install --id Git.Git -e --source winget
What does this command do?
WinGet finds the official Git package by its exact package ID and installs it from the WinGet source.
- Open the official Node.js downloads page if Node.js or npm is missing.
- Download the current Windows LTS installer for your computer’s architecture.
- Run the downloaded installer.
- Accept the installer’s default options.
- Open a new PowerShell window.
- Repeat the four version checks.
Linux
- Install Git on Debian or Ubuntu by running:
sudo apt install git-all
What does this command do?
The Debian or Ubuntu package manager installs Git and its standard supporting tools for every terminal session.
- Install Git on Fedora or RHEL instead by running:
sudo dnf install git-all
What does this command do?
The Fedora or RHEL package manager installs Git and its standard supporting tools for every terminal session.
- Install nvm 0.40.8 when Node.js or npm is missing by running:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bash
What does this command do?
This downloads the official nvm installer and adds the Node.js version manager to your shell. A new terminal loads the updated shell configuration.
- Open a new terminal after the nvm installer finishes.
- Install Node.js 24 by running:
nvm install 24
What does this command do?
nvm downloads Node.js 24 and selects it for the current shell. That release satisfies the repository’s Node.js 22-or-newer requirement.
- Repeat the four version checks.
ⓧ uv is missing
uv is required for spoken-hook transcripts. The dashboard still decodes titles and descriptions without it, but the hook strategy check reports No transcript.
macOS
- Install uv with its official standalone installer by running:
curl -LsSf https://astral.sh/uv/install.sh | sh
What does this command do?
This downloads and runs uv’s official installer. The installer adds the uv and uvx commands to your user environment.
- Close Terminal after the installer finishes.
- Open a new Terminal window.
- Verify uv by running:
uv --version
What does this command do?
This prints the installed uv version. A version number confirms that the new Terminal can find uv.
Windows
- Install uv with its official standalone installer by running:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
What does this command do?
PowerShell downloads and runs uv’s official Windows installer. The installer adds the uv and uvx commands to your user environment.
- Close PowerShell after the installer finishes.
- Open a new PowerShell window.
- Verify uv by running:
uv --version
What does this command do?
This prints the installed uv version. A version number confirms that the new PowerShell window can find uv.
Linux
- Install uv with its official standalone installer by running:
curl -LsSf https://astral.sh/uv/install.sh | sh
What does this command do?
This downloads and runs uv’s official installer. The installer adds the uv and uvx commands to your user environment.
- Close the terminal after the installer finishes.
- Open a new terminal.
- Verify uv by running:
uv --version
What does this command do?
This prints the installed uv version. A version number confirms that the new terminal can find uv.
uv still not found?
If the new terminal still cannot find uv, the installer may not have added its binary folder to your PATH.
Ask Chat to fix the uv PATH.
Need environment-specific setup help?
Ask Chat for environment-specific setup help.
Download and install the project
- Clone, or download a working copy of, the repository into a folder named nextwork-jev-decoder and enter it by running these commands:
cd ~/Desktop
git clone https://github.com/Nik-1019/Jev-Creator-Decoder-NextWork.git nextwork-jev-decoder
cd nextwork-jev-decoder
What do these commands do?
The first line moves the terminal to your Desktop. Git then copies the repository into nextwork-jev-decoder, and the final line enters that folder.
The completed clone places the Content Decoder repository on your Desktop.
- Confirm that the cloned project files exist by running:
ls
What does this command do?
This lists the files in the current folder. Seeing the project configuration files proves that the clone finished and your terminal is inside the repository.
The clone creates a fresh nextwork-jev-decoder folder on your Desktop. Keep the same terminal open so every later command runs from that folder.
The file listing confirms that the cloned folder contains the project configuration files.
You should see package.json, schema.json, and wrangler.toml inside ~/Desktop/nextwork-jev-decoder. If a file is missing, use the recovery steps below.
Project files missing?
An empty ls result usually means your terminal is outside the cloned folder. A partial result means the repository download may not have finished.
Ask Chat to help recover the cloned project files.
- Install the dependencies from inside ~/Desktop/nextwork-jev-decoder by running:
npm install
What does this command do?
npm reads package.json and installs the project’s packages into node_modules. The command may print package notices before it returns to the prompt.
A successful installation returns you to the prompt without an npm error and creates node_modules, the folder where npm stores the installed packages.
The returned terminal prompt confirms that the project dependencies finished installing.
Dependency installation failed?
Help me diagnose the dependency installation error.
Open the nextwork-jev-decoder folder in Cursor
The terminal is already inside the correct project folder. Cursor can open that folder without another file-navigation sequence.
- Open the current nextwork-jev-decoder folder in Cursor by running:
cursor .
What does this command do?
This asks Cursor to open the terminal’s current folder. The dot represents the folder you are already inside.
✔️ Cursor opens the project
Cursor opens the nextwork-jev-decoder folder. Continue when package.json and schema.json appear in the Explorer sidebar.
ⓧ Cursor opens the Agents Window
- Open the current folder directly in Cursor’s editor view by running:
cursor . --classic
You should see the nextwork-jev-decoder files in the Explorer sidebar.
ⓧ The command is not found
The terminal command depends on Cursor’s shell command being available. Open the folder through Cursor when your terminal cannot find it.
macOS
- Press Cmd+Space to open Spotlight.
- Type Cursor.
- Press Enter to open Cursor.
- Click Open Folder....
- Select Desktop/nextwork-jev-decoder.
- Click Open.
Windows
- Press the Windows key to open search.
- Type Cursor.
- Press Enter to open Cursor.
- Click Open Folder....
- Select Desktop/nextwork-jev-decoder.
- Click Open.
Linux
- Open your application launcher.
- Type Cursor.
- Press Enter to open Cursor.
- Click Open Folder....
- Select Desktop/nextwork-jev-decoder.
- Click Open.
The Explorer sidebar confirms that Cursor opened the cloned project folder.
You should see the cloned files in the Explorer sidebar. The editor and terminal now point to the same project folder.
Editor still not opening the folder?
Ask Chat for editor-specific setup.
Your workstation is ready, including uv for spoken-hook transcripts. Next, you’ll create both API keys, connect the project, prepare transcript support, and start the local app.
Run the Content Decoder
Your nextwork-jev-decoder repository is installed and open in the editor. The remaining setup connects it to the TypeSafe API and Cloudflare D1.
The dashboard reads titles, descriptions, and performance data through the YouTube Data API v3. A local transcript helper downloads temporary audio, while Workers AI turns it into text for Jev’s spoken-hook analysis.
In this step, get ready to:
- Create the API keys that authorize the dashboard’s requests.
- Run setup to connect Cloudflare, save the keys, and prepare transcript support.
- Start the Cloudflare Worker and transcript helper together.
Create the API keys
The dashboard needs a restricted YouTube API key for public video data. It also needs a TypeSafe API key for Jev requests.
- Open Google Cloud Console in your browser.
- Sign in with your Google account.
✔️ I have a Google account
Use your existing Google account to continue in Google Cloud Console. Creating this project does not activate paid Google Cloud services.
- Confirm that Google Cloud Console shows your signed-in account.
- Continue to the Manage resources page.
ⓧ I need a Google account
Create a Google account before opening Google Cloud Console. Account creation does not activate paid Google Cloud services.
- Open the Google account creation page.
- Complete the identity prompts.
- Complete the email verification prompt.
- Return to Google Cloud Console.
- Sign in with the account you created.
- Open the Manage resources page in Google Cloud Console.
The Manage resources page is where you create the Google Cloud project for this decoder.
- Click Create Project at the top of the page.
- Enter Jev Content Decoder in the Project name field.
- Leave the generated project ID unchanged.
- Choose No organization in the Location field.
- Click Create.
The new project uses the name Jev Content Decoder and the default organization setting.
- Open the project selector in the Google Cloud top bar.
- Select Jev Content Decoder from the project list.
The project selector confirms that Jev Content Decoder is the active project.
✔️ I created and selected the project
You should see Jev Content Decoder as the active project. Continue to enable the API.
ⓧ Project creation or selection is blocked
Project creation or selection blocked?
Google Cloud requires the resourcemanager.projects.create permission to create a project. Managed work or school accounts may reserve that permission for an administrator.
- Switch to a personal Google account if your organization does not allow project creation.
- Open the project selector in the top bar if the wrong project is active.
- Select Jev Content Decoder before enabling the API.
Ask Chat about Google Cloud project access.
- Open APIs & Services from the Google Cloud navigation.
APIs & Services contains the library and credential controls used by the decoder.
- Open the API Library.
The API Library lets you find the YouTube Data API used for public creator metadata.
- Select YouTube Data API v3.
This service page is where you enable YouTube Data API v3 for the selected project.
- Click ENABLE.
The enabled status confirms that the project can create a YouTube API credential.
✔️ YouTube Data API v3 is enabled
You should see YouTube Data API v3 enabled for the selected project. The project can now create a credential, a digital proof that authorizes public-data requests.
ⓧ YouTube Data API v3 is not enabled
API not enabled?
YouTube Data API v3 lets the Content Decoder retrieve public channel and video metadata. The decoder uses that data to analyze a creator's content.
Keep your API key out of screenshots. Store the full YouTube key privately, then close any screen that reveals it.
Help me enable YouTube Data API v3.
- Open Credentials under APIs & Services.
- Click Create credentials.
The Credentials page opens the menu used to create the restricted YouTube key.
- Select API key.
- Enter jev-decoder as the API key name.
The name jev-decoder makes the credential easy to identify during cleanup.
- Select Restrict key under API restrictions.
- Choose YouTube Data API v3 from the API list.
The API restriction limits this key to YouTube Data API v3.
- Leave None selected under Application restrictions.
Application restrictions remain set to None because the requests come from the local server.
Why leave application restrictions set to None?
The decoder sends YouTube requests from its local server, so browser restrictions and public-IP restrictions can reject valid requests. Restricting the key to YouTube Data API v3 and storing it privately provides the safeguards for this local project.
- Click Save.
- Copy the API key into a password manager or another private location.
The credential is ready, while its full secret value stays out of the project screenshots.
Your restricted YouTube key is ready for the setup prompt. Keep the full value in private storage until the terminal requests it.
✔️ I already have a TypeSafe API key
Use this path if you already have a working TypeSafe API key. The automated setup asks for the key without displaying it.
- Retrieve your TypeSafe API key from private storage.
- Continue to the automated setup with the key ready to paste.
ⓧ I need to create a TypeSafe API key
TypeSafe requires a real $5 prepayment before it enables API-key creation. Jev requests consume that prepaid credit, so review the amount before you confirm the payment.
- Open the TypeSafe Console sign-in page in your browser.
TypeSafe offers Google and email sign-in paths before API billing and key setup.
- Select Continue with Google to use your Google account.
- Complete any first-time account onboarding shown by TypeSafe.
- Confirm that the TypeSafe Console navigation opens.
The console navigation confirms that the TypeSafe account is ready for billing setup.
- Select Billing from the TypeSafe Console navigation.
The Billing page is where you add the prepaid credit required before key creation.
- Select Payment method on the Billing page.
- Enter your card details in the payment form.
- Confirm the $5 payment with the payment provider.
The payment form adds the prepaid credit required before TypeSafe enables key creation.
- Wait for the payment provider to report success.
- Return to TypeSafe.
- Confirm that the TypeSafe balance shows $5 before creating the API key.
The updated balance confirms that TypeSafe billing is ready for the API key.
✔️ TypeSafe balance shows $5
That payment hurdle is cleared. Your balance confirms billing is ready before you create the key.
ⓧ TypeSafe balance does not show $5
Balance still not showing $5?
A completed payment can take a moment to appear. Refresh the Billing page once before attempting another payment.
- Confirm that the payment provider reported a successful $5 payment.
- Check your payment account for a completed or pending transaction.
- Avoid submitting a second payment while the first transaction is pending.
Ask Chat about a delayed TypeSafe balance.
The API keys page contains the control for creating the decoder’s TypeSafe credential.
Protect your TypeSafe API key
Keep the full key out of screenshots and chat messages. The setup script stores it in the gitignored .env file, which Git is configured not to include in commits.
- Name the new API key jev-creator-decoder.
- Create the API key.
The creation dialog names the key before TypeSafe reveals its value once.
- Copy the full API key into private storage.
- Close the key reveal.
Both credentials are ready. The setup script writes them to the gitignored .env file.
Run the automated setup
The setup script uses Wrangler to connect your Cloudflare account. It creates the database, registers a workers.dev subdomain, applies local database migrations, saves both keys, and checks uv.
✔️ I have a Cloudflare account
Wrangler opens Cloudflare authorization in your browser during setup. Use the account that should own the project’s Worker and D1 database.
- Keep your Cloudflare sign-in details available.
- Continue to the environment-file check below.
ⓧ I need a Cloudflare account
Create a free Cloudflare account before running setup. Wrangler can then connect the local repository to that account.
- Open the Cloudflare sign-up page.
- Complete the account verification prompts.
- Return to your code editor.
- Continue to the environment-file check below.
Fresh setup
Continue with the setup script. It creates the project’s .env file after you enter both keys.
Existing .env file
Setup keeps current entries in an existing .env file. It adds a YouTube or TypeSafe key only when that value is missing.
Existing environment file?
Ask Chat to check an existing .env file.
- Return to Cursor.
- Click Terminal in the top menu.
- Click New Terminal.
- Confirm that the terminal’s current folder is ~/Desktop/nextwork-jev-decoder.
The terminal is open inside nextwork-jev-decoder, so setup runs against the correct project.
What prompts should you expect?
Setup may open Cloudflare authorization, ask you to choose an account, register a workers.dev subdomain, confirm a local migration, and request both API keys.
At the end, it checks for uv. When uv is available, setup runs uvx yt-dlp --version once so the first transcript run starts faster.
If setup reports that uv is missing, return to Step 1 and install it before starting the app.
The first setup can take a few minutes while Wrangler connects your account and creates the database. A quiet terminal during a network request does not mean it has stopped.
- Start the automated setup by running:
npm run setup
What does this command do?
This runs the repository’s setup script. It connects Wrangler to Cloudflare, prepares D1, stores both API keys in the gitignored environment file, and checks transcript support.
- Complete the Cloudflare sign-in and authorization flow if a browser window opens.
Wrangler opens this authorization page to connect the local project to Cloudflare.
- Enter the number for your Cloudflare account if the terminal lists more than one.
- Press Enter to accept the suggested workers.dev subdomain.
- Enter Y if Wrangler asks to apply the local migration.
These prompts select the Cloudflare account, register workers.dev, and apply the local migration.
- Paste the restricted YouTube API key when requested.
The hidden-input prompt accepts the restricted YouTube key without displaying it.
- Paste the TypeSafe API key when requested.
The second hidden-input prompt stores the TypeSafe key without printing it in the terminal.
What does setup configure?
Setup connects Cloudflare, creates or reconnects the content-decoder database, and stores both API keys in the gitignored .env file.
It also checks uv and prepares yt-dlp through uvx. The dashboard can still decode titles and descriptions without uv, but spoken transcripts remain unavailable.
- Verify that Git ignores the secrets file without opening it by running:
git check-ignore -v .env
What does this command do?
Git checks which ignore rule covers the environment file. The command prints the matching rule and path without opening the file or revealing either key.
You should see a matching .env rule and the .env path. The command reads Git's ignore rules without displaying either API key.
The Git output confirms that the secrets file is excluded from commits.
No ignore rule shown?
No output means Git did not find an ignore rule for .env. Stop before committing any files.
Ask Chat to verify the ignore rule safely.
Start the dashboard
One command now starts the local Worker and the transcript helper in the same terminal. The Worker serves the dashboard at http://localhost:8787, while the helper listens on http://127.0.0.1:8790.
Before you start the server, what do you expect the browser to show before any creator has been decoded?
Start both local processes
Use npm run dev for this project. Running npx wrangler dev starts only Wrangler, so the hook strategy check cannot reach the transcript helper.
- Start the local dashboard by running:
npm run dev
What does this command do?
This starts the local Cloudflare Worker and transcript helper together. Keep the terminal running so the dashboard stays available at the local address.
Wrangler reports the remote AI binding, local D1 binding, and dashboard address.
✔️ Both local processes start
Wrangler shows the dashboard at http://localhost:8787. The terminal also reports Transcript helper on http://127.0.0.1:8790.
Keep this terminal running while you use the dashboard. Press Ctrl+C when you are finished to stop both processes.
ⓧ The transcript helper does not start
The dashboard can open without the helper, but the hook strategy check cannot download audio. Start the project with npm run dev, not npx wrangler dev.
- Confirm that uv --version prints a version in a new terminal.
- Stop the current process with Ctrl+C.
- Restart both processes by running:
npm run dev
What does this command do?
This restarts both local processes after you confirm that uv is available. The transcript helper should reclaim port 8790 and report its local address.
🙋♀️ Port 8790 already in use?
Ask Chat to resolve a port 8790 conflict.
ⓧ I see another startup error
Another startup error?
Startup failures usually point to incomplete setup, a missing local configuration file, an occupied dashboard port, or expired Cloudflare authentication.
Ask Chat to diagnose the startup error.
- Hold Cmd (macOS) or Ctrl (Windows), then click http://localhost:8787 in the terminal.
On your first visit to http://localhost:8787, you’ll see a form for creating the password that protects your local dashboard.
The first visit asks you to create the password that protects the local dashboard.
Forgot the dashboard password?
The dashboard stores a salted password hash in local D1 instead of the password itself. Keep the password in your password manager.
Ask Chat to reset a forgotten dashboard password.
- Enter a unique password in the first password field.
- Re-enter the password in the confirmation field.
- Store the password in your password manager.
- Submit the password form.
The open welcome screen confirms that the local Content Decoder is running.
Your local Content Decoder is running and connected.
Dashboard not loading?
Ask Chat to load the local dashboard.
The Worker and transcript helper now run together. Next, you’ll fast-decode a creator’s titles and descriptions, then compare the spoken openings in their top and latest Shorts.
Decode Your First Creator
Your Cloudflare Worker and transcript helper are running together. Now you can turn that setup into a two-phase creator analysis.
The fast phase uses titles and descriptions to decode up to 200 YouTube Shorts. The hook strategy check then transcribes the Top 10 and Latest 10 so Jev can compare what the creator says aloud.
In this step, get ready to:
- Fast-decode one creator’s titles and descriptions.
- Measure one full four-question batch.
- Generate a spoken-hook comparison for the Top 10 and Latest 10 Shorts.
Decode a creator and measure the requests
A batch is the group of videos handled in one request. During the fast decode, the dashboard sends up to 10 videos with four schema questions per video, producing 40 answers for a full batch.
- Choose a YouTube creator with at least 20 public short-form videos that are three minutes or shorter.
- Copy the creator’s channel link or handle.
Copy a channel link or handle from a creator with enough eligible short-form videos.
- Switch back to the dashboard at http://localhost:8787.
- Paste the copied value into the creator field.
The creator field accepts a channel link or handle before the decode begins.
Confirm your TypeSafe credits
A creator decode uses TypeSafe prepaid credit. Check the TypeSafe Console before continuing if your balance may be low.
Before you start the decode, how many Jev answers do you expect from one full batch?
- Click Decode.
Selecting Decode starts the creator analysis and its first request batch.
- Watch the analyzed thumbnails fill the gallery as each batch completes.
- Watch the request chart add one completed bar for each finished request.
Each completed bar represents one finished batch request during the decode.
- Wait until the fast-decode panels show Done and the gallery reports at least 20 decoded Shorts.
- Watch the Hook strategy check begin automatically after the fast decode finishes.
Know the dashboard areas
- Every Jev call shows one bar per completed fast-decode batch.
- Decode the library shows creator-wide totals and saved-result controls.
- Hook strategy check shows transcript progress, Top versus Latest results, and Jev’s verdict.
💡 If your dashboard looks different
The exact spacing or colors may differ if the repository UI has changed. Use the panel names Every Jev call, Decode the library, and Hook strategy check to find the same evidence.
Finding a full batch is a little fiddly because the latest bar may represent a smaller final group. Use a bar whose tooltip shows 10 videos.
A full-batch tooltip shows 10 videos and 40 questions.
Decode not completing?
Help me troubleshoot the incomplete creator decode.
Help me find a creator with enough eligible videos.
- Hover over one full-batch bar in Every Jev call.
- Confirm that its tooltip shows 10 Videos.
- Confirm that its tooltip shows 40 Questions.
The tooltip breaks one full batch into timing, flagged-answer, and cost measurements.
- Compare the number of completed bars with Jev calls in Decode the library.
- Inspect a second full-batch bar to compare its Jev time.
Two full-batch bars let you compare Jev’s processing time across requests.
Use Jev time for this range because it measures Jev's processing. Round trip also includes the time needed to send and receive the request.
Generate the spoken-hook comparison
The hook strategy check starts automatically after the fast decode. It compares the Top 10 by views with the 10 latest Shorts, with no overlap between the groups.
The Top 10 group surfaces openings from historically successful Shorts. The Latest 10 group shows how the creator opens videos now.
How does the spoken analysis work?
The transcript helper downloads one audio file at a time, three seconds apart. It deletes each file as soon as the browser receives it.
Workers AI Whisper converts the audio into text. Jev then re-runs the four starting schema questions against the spoken opening and full transcript before comparing the two groups.
- Scroll to the Hook strategy check panel.
- Keep the dashboard tab open while the status counts through the transcript sample.
- Wait until the status changes to Done.
You should see the Top 10 and Latest 10 side by side. The result names the usable transcript sample, each group’s dominant hook pattern, and whether recent openings follow the top group’s pattern.
What do the transcript statuses mean?
- Transcribed means Jev read the spoken opening and full transcript.
- No clear speech means the Short contains too few spoken words, so Jev keeps its title-based result.
- No transcript means the audio download, helper connection, or transcription failed. Jev keeps its title-based result.
- Select a Short marked Transcribed in either group.
- Review the highlighted opening in the side panel.
- Open Watch from the hook to confirm the highlighted words match the video’s opening.
The side panel shows the first 45 seconds as the opening, followed by the remaining transcript. The video’s Jev labels now come from what the creator said.
What evidence is ready?
The completed check contains three evidence layers. You have the usable transcript sample, the dominant hook pattern in each group, and the highlighted opening for every transcribed Short.
The next step tests Jev’s verdict against those openings. This turns the dashboard result into a conclusion about the creator’s current hook strategy.
🙋♀️ Seeing No transcript?
A missing transcript can come from a stopped helper, missing uv, a temporary YouTube rate limit, or the Workers AI daily limit.
Ask Chat to diagnose missing transcripts.
Replays reuse saved creator data, while the hook strategy check reuses every successful cached transcript. Missing Shorts are the only ones fetched again.
Continue
Continue when you are ready to review and summarize the completed analysis.
Replay the saved analysis
Replay uses the saved analysis to demonstrate the processing sequence without another YouTube request.
- Click Replay slowly.
- Watch the saved thumbnails process until the replay finishes.
The replay view processes the cached creator results at a slower pace.
Replay not starting or finishing?
Confirm that the original decode shows Done and that the same saved creator is selected. Keep the development server terminal running.
Ask Chat about the incomplete replay.
The replay completes from cached metadata without another YouTube request.
The completed replay returns to the saved creator dashboard.
You now have title-based results, spoken-hook evidence, and a Top-versus-Latest verdict. Next, you’ll test the verdict against individual openings and decide whether the creator’s current hook strategy shows alignment, experimentation, or drift.
Review and Summarize the Results
Your two-phase creator decode is complete. You can now review uncertain labels and compare the creator’s top spoken openings with their latest ones.
Jev evaluates a state, the creator data supplied for analysis, against typed questions. Each saved answer includes a value you can review instead of accepting the label alone.
You will review confidence, interpret the spoken-hook verdict, and test whether Ask the Decoder stays tied to saved evidence. You will finish by opening the creator snapshot in the side panel.
In this step, get ready to:
- Review videos marked for attention and inspect their confidence values.
- Compare the Top and Latest spoken-hook groups.
- Test grounded answers and open the creator snapshot.
Review confidence and find the winning formula
Lift compares a hook type’s median views with the median across all decoded Shorts. A lift of 1.5× means that hook type’s median is 50% higher, which helps explain the visible Top hook and Best combo results.
The review controls sit in the Decode the library panel, while each video's fixed-format answers sit inside its drawer. Start with the filter that collects answers below the current confidence threshold.
- Locate the Decode the library panel on the left side of the dashboard.
- Click the Needs review filter.
The Needs review filter isolates videos with answers below the confidence threshold.
- Open one video from the filtered gallery.
- Find the Hook answer marked choice.
- Review the full answer panel from Hook through Strength.
- Hover over each info icon to read the matching field definition.
The video drawer shows each typed answer and the definition behind its field.
What is a noul answer?
A noul is Jev's yes-or-no answer type. Its value is a probability from 0 to 1, so a value closer to 1 supports yes while a value closer to 0 supports no.
- Close the video drawer.
- Find the Flag below slider beneath the video gallery.
- Move the Flag below slider to a different confidence threshold.
The Flag below slider controls which choice answers appear in Needs review.
You should see the Needs review count change as you move the threshold. Only choice confidence controls this filter.
Review count not changing?
Ask Chat about the unchanged review count.
Interpret the spoken-hook strategy
The Hook strategy check compares the Top and Latest groups using spoken openings. Start with sample quality, then compare the dominant patterns before reading Jev’s verdict.
- Scroll to the Hook strategy check panel.
- Read the transcript sample size shown in the verdict.
- Check which Shorts are marked No transcript or No clear speech.
- Identify the dominant spoken hook in Top 10 by views.
- Identify the dominant spoken hook in Latest 10.
How should you interpret the patterns?
Alignment means the Latest group reuses a hook pattern that appears often in the Top group. A different dominant pattern may show experimentation or drift.
This comparison cannot prove that the newer approach performs worse. Check the usable transcript sample because missing or unclear speech reduces the evidence behind the verdict.
- Open one Short marked Transcribed in Top 10 by views.
- Review its highlighted spoken opening in the side panel.
- Open one Short marked Transcribed in Latest 10.
- Compare its highlighted opening with the Top example.
- Read Jev’s verdict.
- Compare the verdict with the two openings you inspected.
You should now be able to name the dominant pattern in each group and support the comparison with two highlighted openings. Jev’s verdict should match the evidence you inspected or reveal where the sample needs closer review.
Why are latest Shorts judged on hooks?
Recent Shorts have had less time to collect views, so comparing their totals directly with older top performers would skew the result. The check compares how each opening grabs attention instead.
Test grounded answers and open the creator snapshot
The completed dashboard provides the saved evidence used by Ask the Decoder.
The answer panel uses the saved creator analysis to decide whether it has enough evidence to respond. You can test an allowed question and an off-topic request to see both paths.
- Click Ask the Decoder in the bottom-right corner.
Ask the Decoder opens against the currently selected creator analysis.
- Select Which hooks should I use more?.
- Confirm that the response shows its topic tag and the Grounded result.
The Grounded result confirms that the answer is supported by saved creator evidence.
- Select Off-topic test.
- Confirm that the result says Blocked by Jev.
The off-topic test stops before a chat model call because Jev blocks the request.
How Jev controls the answer pipeline
The answer pipeline uses a choice question to route the prompt to an allowed topic. A noul question then checks whether the saved creator data can support an answer.
Off-topic or unsupported prompts stop before the chat model runs. When both checks pass, the model writes from the creator summary and Jev checks whether the response stays grounded.
- Close Ask the Decoder.
- Check the Summary.
- Confirm that the summary shows Top hook, Best combo, and Blind spot.
The summary turns the reviewed analysis into a top hook, best combination, and blind spot.
- Click View creator snapshot on the dashboard.
- Review the Winning formula in the side panel.
- Review the linked top videos in the side panel.
- Click Copy as text when you want a paste-ready version.
View creator snapshot opens the current creator summary in a side panel.
The creator snapshot opens in the side panel with the winning formula and linked top videos.
How can you use this snapshot?
The snapshot turns the analysis into a content-planning decision. Use the winning formula to brief the next batch of Shorts.
Use the linked top videos to show a creator or collaborator what the pattern looks like in practice. Copy the summary into a planning document or message.
The result is an evidence-backed hypothesis. Run the decoder again after publishing new Shorts to see whether the pattern still holds.
Copy as text packages the winning formula and linked top videos into a paste-ready summary.
Creator snapshot missing?
- Return to the dashboard for the selected creator.
- Click View creator snapshot again.
- Confirm that the winning formula and top videos appear before copying the summary.
Ask Chat about the missing creator snapshot.
Secret mission
Benchmark Jev Against an LLM
Benchmark one batched Jev request against 10 separate requests to the comparison LLM configured in the dashboard. Use the measured timing, estimated cost, unusable answers, and label agreement to write a conclusion that applies only to this controlled run. Allow about 10 extra minutes.
Clean Up Your Resources
Clean Up Your Resources
TypeSafe requires $5 of prepaid credit, and Jev requests consume that balance. Choose whether to keep the resources, pause both local processes, or remove the cloud credentials, project data, and local files. The transcript helper deletes temporary audio automatically, while cached transcript text remains in local D1 until you delete the project folder.
Cost warning
Jev requests consume the $5 prepaid TypeSafe balance. Stop the local server to prevent accidental runs, then deactivate the TypeSafe key if you no longer need it.
Deleting .env removes only the local copies of your credentials. Revoke the cloud keys before deleting the project folder.
Resources you used:
- Local project folder nextwork-jev-decoder containing the cloned files, gitignored .env file, decoded creator records, and cached transcript text in local D1.
- Local Content Decoder processes for the Worker at http://localhost:8787 and the transcript helper at http://127.0.0.1:8790.
- Google Cloud project named Jev Content Decoder containing the restricted YouTube Data API key.
- TypeSafe API key named jev-creator-decoder.
- Remote Cloudflare D1 database named content-decoder, created during automated setup. Local development keeps creator records and cached transcripts in separate local D1 state.
Keep everything running
No action is needed. Choose this if you want to keep analyzing creators or refining your questions.
- Keep the local server running while you use the dashboard at http://localhost:8787.
- Keep the nextwork-jev-decoder folder so later sessions can reuse its gitignored .env file and local D1 records.
- Keep the Google Cloud project active so its restricted YouTube Data API key remains available.
- Keep the jev-creator-decoder TypeSafe key active for future Jev requests.
- Keep any remaining prepaid TypeSafe credit on your account for future Jev requests.
- Keep the remote content-decoder database available if you deploy the project later.
Pause - I'll come back to this later
Stop the local Worker and transcript helper to free their ports and memory. Your credentials, cloud resources, project files, and local D1 records remain available for another session.
- Switch to the terminal running the Content Decoder.
- Press Ctrl+C to stop both the Worker and transcript helper.
The dashboard at http://localhost:8787 becomes unavailable. The gitignored .env file, local D1 state, Google Cloud project, TypeSafe key, and remote D1 resource remain unchanged.
Delete - I don't want to use this again
This cleanup is permanent after each provider's recovery period ends. Complete the cloud cleanup before deleting the local folder that identifies the resources.
- Switch to the terminal running the Content Decoder.
- Press Ctrl+C to stop both the Worker and transcript helper.
Deactivate the TypeSafe key before removing its local copy. This blocks future requests made with that credential.
- Open the TypeSafe API keys page.
- Locate the jev-creator-decoder key.
- Open the three-dot menu at the end of its row.
- Click Deactivate.
- Confirm that the key no longer shows the Active status.
The TypeSafe key is now inactive. Deleting .env later removes the remaining local copy.
Shutting down the Google Cloud project removes the restricted YouTube key with the project. Google marks the project for deletion immediately and keeps it recoverable for 30 days.
- Open the Google Cloud Manage resources page.
- Find the project named Jev Content Decoder.
- Record the displayed project ID: your Google Cloud project ID.
- Select the checkbox beside the project.
- Click Delete.
- Enter your Google Cloud project ID in the confirmation dialog.
- Click Shut down.
- Open Resources pending deletion to confirm the project is listed.
The Google Cloud project is now unusable and scheduled for permanent deletion after the 30-day recovery window. Its restricted YouTube Data API key can no longer serve this project.
Automated setup creates the remote content-decoder database and records its ID in wrangler.toml. Local development stores creator records in separate local D1 state, so deleting the remote database does not remove the local copy inside the project folder.
- Open a terminal whose current folder is ~/Desktop/nextwork-jev-decoder.
- Delete the remote database by running this command:
npx wrangler d1 delete content-decoder
What does this command do?
Wrangler asks Cloudflare to delete the remote D1 database named content-decoder. This does not delete the local D1 files inside your project folder.
- Confirm the deletion when Wrangler prompts you.
You should see Wrangler confirm that the content-decoder database was deleted.
Database deletion failed?
Ask Chat to diagnose the database deletion failure.
The local project folder contains the gitignored .env file, local D1 state, and every other local project artifact. Delete it only after the cloud resources above are handled.
macOS
- Close Cursor if it still has nextwork-jev-decoder open.
- Delete the local project folder by running these commands:
cd ~/Desktop
rm -rf nextwork-jev-decoder
Open your Desktop in Finder. You should no longer see the nextwork-jev-decoder folder.
Windows
- Close Cursor if it still has nextwork-jev-decoder open.
- Delete the local project folder by running this command in PowerShell:
cmd /c rmdir /s /q "%USERPROFILE%\Desktop\nextwork-jev-decoder"
Open your Desktop in File Explorer. You should no longer see the nextwork-jev-decoder folder.
Linux
- Close Cursor if it still has nextwork-jev-decoder open.
- Delete the local project folder by running these commands:
cd ~/Desktop
rm -rf nextwork-jev-decoder
Open your Desktop in the file manager. You should no longer see the nextwork-jev-decoder folder.
Nice Work!
Nice Work!
Nice work! You built a password-protected creator-analysis dashboard that turns YouTube Shorts into typed Jev answers and transcript-backed hook evidence. You can now show the measurements behind every creator recommendation.
You've learned how to:
- Run a password-protected local dashboard that sends Jev questions through the TypeSafe API and stores creator results in Cloudflare D1.
- Complete a two-phase creator decode for up to 200 Shorts, then use Workers AI Whisper transcripts to compare the Top 10 and Latest 10 spoken-hook patterns.
- Review confidence and lift, test grounded and blocked answers, and open a creator snapshot with the winning formula and linked top videos.
- Secret Mission: Compare one batched Jev request with 10 separate requests to the comparison LLM using measured time, cost, unusable answers, and label agreement.
Ready to quiz yourself?