[verdict][curated prompt][source: wholana.com]
Can I vibecode Wholana?
// buildable in a weekend, but real gaps stay open
The core idea is simple arithmetic: a video's views divided by that creator's own median. An agent can build that for a watchlist of creators you pick, over a weekend, on top of a paid scraper API. What it cannot hand you is the corpus, hundreds of thousands of videos already scraped, deduped, and labeled against a curated craft taxonomy, which is what makes search across creators useful instead of a list of your own bookmarks. So: yes for watching 25 creators you already know, no for finding the ones you don't.
confidence: medium
what it is: TikTok research tool that ranks videos against each creator's own baseline and labels what they did
Buildability index · an editorial game
- Price 5 $/month · per seat weight: plus 1
- Time a weekend weight: plus 2
- Category social media no weight
- Moat proprietary data · infrastructure scale weight: minus 4
- Confidence medium weight: zero
- What you lose 7 items weight: minus 3
- Site wholana.com (si apre in una nuova scheda) no weight
The moat outweighs the price: rebuilding this is a project, not an evening.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
What you build
Scrape a watchlist of creators nightly, compute each creator's rolling median views, and surface the videos that beat their own baseline.
what you need
- TikTok scraper API (Apify or similar, paid per run)
- LLM API key for hook labeling
- SQLite
- a nightly cron job
- a scrape budget that recurs every month
Submitted by the maker, scored against the site's framework rather than the marketing page.
The prompt
A weekend with a coding agent. The gaps that stay are right below, under “what you lose”.
Build me a personal TikTok outlier tracker to replace Wholana. Requirements:
- A nightly Node script (node-cron) that pulls recent videos for up to 25 handles listed in
handles.txt, using a TikTok scraper actor on Apify, token in .env. Do not scrape TikTok
directly, you will be blocked inside a day.
- Store videos in SQLite via better-sqlite3: handle, video id, url, caption, posted date,
views, likes, comments, shares, date first seen. Upsert on video id so a re-scrape
updates metrics instead of duplicating rows.
- Per creator, keep a rolling median of views over their last 30 videos and score each
video as views divided by that median. 3x or higher is a breakout. Skip creators under
10 videos, the median is noise below that.
- Label each breakout with one LLM call (Anthropic or OpenAI, key in .env): caption plus
the first 15 seconds of subtitles from yt-dlp, returning one hook type from a fixed list
of 12 in hooks.json. Fixed list, not free text, or nothing groups.
- A page on localhost:3000 (Express, server-rendered HTML, Chart.js): last 7 days of
breakouts sorted by score, filterable by handle, each row showing score, views, hook
type, and a link, plus a per-creator sparkline of views over time.
- A save button per row that writes the video into a swipe collection and appends it to
swipe.md, so my picks survive the database.
- Localhost only. No accounts, no telemetry, everything on my machine except the Apify and
LLM calls.
- Out of scope: search across creators I am not already tracking, and a shared craft
taxonomy. Do not build auth, multi-user workspaces, or hosting config.
- README: Apify token and actor id, the cron entry, and the cost per 1,000 videos scraped.
The scraper bill, not the code, is what makes people quit this build. Curated prompt: written and reviewed by hand for this app. In English on purpose — it is the language coding agents work best in.
What you lose
- the cross-creator corpus
- search across videos you never chose to watch
- a curated craft taxonomy instead of labels you invented
- semantic and hybrid search
- subject classification
- creator equity and track-record views
- someone else absorbing the scrape cost and keeping it running
Why people still pay
The arithmetic is free, the data is not. A personal build only ever knows about the creators you thought to add, and you pay the scraper bill every month to keep even that fresh. The subscription is renting a corpus that was already collected and labeled, plus the discovery that only exists once videos from creators you have never heard of are sitting in the same index.
moat: Proprietary data Infrastructure scale what a moat is
accumulated corpus + labeling pipeline
Who has already built it
Starting from here is still vibecoding: the prompt is for when you want it exactly your way.
- TikTokApi (opens in a new tab) — Unofficial Python wrapper for TikTok's web endpoints; gets you raw metrics, not a corpus, and breaks when TikTok changes (alive)
What it costs in a year
5 $/mese 60 $/anno
Listino 5 $ al mese a persona su Wholana. L’anno è dodici mesi pieni, senza sconti annuali.
Do you agree?
The vote balance
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.