TikTok content intelligence: an ETL pipeline ingests video URLs, transcribes the audio, pulls frame-by-frame metadata, then chunks and embeds everything into a vector store, the “Digital Brain” you can query.
Every short-form script I wrote started the same way: open a creator who was winning, watch at 2x, pause, retype the hook into a doc, screenshot the caption, scroll on. An evening of that produced notes on maybe thirty videos and a hunch about a pattern I could never actually check.
The accounts I most wanted to study made it worse. The sharpest playbooks in my niches lived on Douyin, in Chinese, behind catalogs of hundreds of videos, and the only question that mattered, which openings does this person repeat, and do the repeated ones earn the plays?, is one a feed cannot answer. A feed shows you videos one at a time, in the order it chooses, in whatever language they were shot. Somewhere around the hundredth swipe of one catalog I admitted the problem was not my patience. The catalog should be queryable, and no amount of disciplined note-keeping was going to make it so.
TikTok's own Creative Center is genuinely good at what it does: trending sounds, hashtags and top-performing ads, refreshed constantly. But trends were never my question. My question was about one specific creator's body of work.
The manual route existed too: a downloader tab, a transcription app, a spreadsheet. Chained together they could turn one video into text in about ten minutes of copy-pasting, with the play counts left behind on the platform; multiplied across a catalog, that was the old evening again with more tabs open. And nothing off the shelf spoke Douyin at all, where login walls and anti-bot defenses stop casual tools cold. What I needed was narrower than any of it: pull one creator's whole catalog with the stats attached, transcribe exactly the videos I choose, verbatim, in the original language, and keep a person between the scrape and the model at every step.
I fixed the boundary before writing anything. This would not become a scheduler or an auto-poster. One pipeline, two human gates, clean exports.
Goals: paste a creator URL and get the catalog back as a sortable table, plays, likes, comments and shares attached; every transcript verbatim and in its original language, Chinese included; and the model never runs unattended, I pick the videos worth transcribing and sign off the transcript before anything gets rewritten.
I assumed I would need a dedicated speech-to-text service, then tried uploading the audio straight to Gemini 2.5 Flash through the Files API with a verbatim-transcript prompt. It came back clean, in the right language, Chinese included, in one call: recognition, language handling and formatting collapsed into a single request, and the file is deleted right after. ffmpeg strips each video to a 64kbps mp3 first, so the upload stays small.
Collection was the opposite: nothing collapsed, everything layered. The design goal was to behave like the person whose account is doing the reading, because that is what the account is entitled to see. So the collector runs at a deliberately slow rate, waits a randomised interval between pages instead of a fixed one, walks the catalogue by simulating the clicks a reader would make, and signs in with the user's own session rather than a shared pool. There is more in there, and I am not going to write the whole recipe down. The part worth stating is the constraint it is built around: one person's own access, at one person's pace. The proxy that makes it reachable from the browser is pinned to douyin.com and tiktok.com and refuses private IPs, so it cannot be turned into an open relay. Everything lives in one 2,400-line App.tsx workbench on an Express backend, with Stripe credits, free 20, lite 200, pro 1,500, enforced on both client and server.
React 19
Vite
Gemini 2.5 Flash
Once a catalogue is embedded, four things sit on top of it that scrolling could never give you.
Retrieval-augmented chat against one creator's whole corpus. A question like how this person frames pricing is answered from hundreds of their own videos, with the clips it drew on.
Engagement heatmaps, pacing scores and hook efficacy per video, plus two creators placed side by side so a format difference shows up as a shape rather than an opinion.
The workers re-run on their own, transcribing, vectorizing and indexing new posts as they drop, so a tracked creator stays current without anyone remembering to check.
Aggregating across hundreds of creators surfaces the topics heating up in a niche, which is the read a content calendar actually needs.
The model split follows the same cost logic as the rest of these tools. Gemini handles the reasoning passes, DeepSeek handles the code and logic analysis, and the embeddings live in Pinecone behind a React and TypeScript front end. Access is scoped with SSO and roles, with each account's vector store kept separate, because a shared index across clients is the one failure this class of product cannot recover from.
Studying a creator used to be an evening of scrolling that logged thirty-ish videos. Now one pasted URL brings the whole catalog back as a table I sort by plays, and any video I select returns as a verbatim transcript minutes later. I will not invent a revenue number for this one; that is what I can measure.
The other change is the language wall. A Douyin video I could not have used at all now goes from Chinese audio to a reviewed transcript to a native-English short-form script with a voiceover, in one sitting, and the lot exports to Excel where the rest of my workflow already lives. The two human gates are why I trust the output: the model transcribes what I picked and rewrites what I approved, nothing else.
React 19Dashboard, mining queue and the digital-brain views.
TypeScriptAcross the app and the worker contracts.
ViteBuild tooling.
Gemini 2.5 FlashTranscription and the chunk summaries.
GPT-4oThe retrieval-augmented chat over a creator’s corpus.
Neon PostgresCatalogues, transcripts and job state.
This is the only tool in the set with a vector store, because it is the only one whose question is open-ended. The others match against a bounded rulebook, where retrieval would add cost and remove certainty.
Nine systems shipped, compliance, reporting, intelligence, content.