Dennis Yu

Phone Video → Local Qwen Content Factory

I have more than ten years of phone video that never became anything. It sits in iCloud Photos, Google Drive camera uploads, desktop exports, and shared team folders. The bottleneck was never “AI writing.” It is inventory → triage → transcript → draft → human judgment → publish. This page is the map for how we turn that pile into Content Factory material, with local Qwen doing the first-draft work on my Mac. It sits in the orbit of How I Use Local Qwen and the routing map at Cursor and local Qwen.

What we measured (not invented)

On my main Mac’s Photos library (read-only), there are 21,919 non-trashed videos spanning 2014–2026, about 460 hours. Roughly 3,006 of them sit in the 45-second to 3-minute band that Content Factory actually wants. That band is a length filter, not the STRONG label: after Qwen triage, 1,713 are STRONG, 7,750 LIGHT, 12,350 SKIP and 106 HOLD. Current counts across all my inventories are in How Two Macs Inventory My Content.

Older Google Photos year folders, Camera Uploads, and a USB phone dump add more files on top of that. Many of those are duplicates of what is already in Photos, so we dedupe before counting. We do not add source totals together and call it one “unique” number.

The pipeline (honest roles)

  1. Inventory — list every clip, where it lives, and how long it runs.
  2. Triage — sort clips into SKIP, LIGHT, or STRONG.
  3. Hydrate — pull the actual file down from the cloud.
  4. Transcript — Whisper or Descript.
  5. Intake — package the transcript and context.
  6. Local Qwen factory (stage only) — first drafts through Produce → Process → Post → Promote.
  7. Judgment — a human decides what is good and what is public.
  8. YouTube / article — the conductor publishes.
StepWho
Inventory, hydrate, Whisper/Descript transcriptConductor (Cursor / Grok Bot)
Triage draft + Content Factory Produce → Process → Post → Promote stagingLocal Qwen (mlx-community/Qwen3.8-27B-4bit only)
Edge-case triage, public-release call, channel pickTrenton, with a light touch from me
YouTube upload, WordPress publish, spendConductor only — Qwen never does these

I do not talk to Qwen. I talk to Cursor. Cursor sends the factory slice to local Qwen at 127.0.0.1:8080 on the Mac.

How the triage soak runs

  • The bigger Mac does most of the work. The second Mac helps only when it is connected, and it takes a different slice so the two never duplicate.
  • The model stays pinned to mlx-community/Qwen3.8-27B-4bit. No silent swap to a different quant.
  • Long runs use a macOS LaunchAgent, not a fragile shell session that can get reaped halfway through the night.
  • One soak client per Mac. Batches of 5–10 clips. Any “batch miss” stub row gets wiped and redone.
  • Transcription only runs when there is at least 20 GB of free disk left after triage.
  • A keep-busy check looks at both Macs every two hours through the workday and stays quiet when things are healthy.

Before anyone treats triage output as judgment, we QA it: real rows versus stubs, a sane SKIP / LIGHT / STRONG mix, no invented file paths, the 4-bit model confirmed, one soak per machine, the disk floor held, and nothing published without an explicit public-release OK.

What we already ran through the factory

Stage-only factory runs that proved the lane (no silent model swap):

  • Justin Sonnenreich testimonial — factory draft and judgment done.
  • Cam’s father story — factory draft done; not published yet.
  • Liana, Coach Yu (2023) — factory draft finished September 27, 2026.

Those three are the template: intake + transcript → Qwen factory draft → judgment notes → human OK → the conductor posts to the right YouTube channel and repurposes the article.

The overnight phone-inventory triage runs (newest 45s–3m clips first, then the full STRONG band) feed the next wave. That is still draft triage, not publishing.

What Qwen will not do

Unlock a phone, grant Photos permission, log into Descript, authorize YouTube, publish to WordPress, spend money, or decide that a family clip is public. Light supervision means Trenton confirms the triage edge cases and grades the drafts. It does not mean me picking files one by one.

What comes next

As more phone clips clear the factory (the 45s–3m STRONG set first), I will add before-and-after examples here: a raw iPhone clip → transcript → Qwen hooks → an unlisted draft video → a hub article. Until then, this page is the map. The usage meter on How I Use Local Qwen is the proof of what the worker actually did.

Publishing is not done. The first MAA is.

A clip going live is output, not a result. Every clip that ships from this pipeline goes through MAA (Metrics, Analysis, Action) on Friday, the same weekly loop I run for every client. A clip isn't done until its first weekly read is written.

  • Metrics, from money outward. First the revenue or pipeline we can attribute, then ad spend, then leads, bookings and link clicks, and only after that views, watch time and engagement. If a source isn't connected yet, the number is UNKNOWN, not zero.
  • Analysis. Compare week over week, and against my own median for that format on that channel, not some industry benchmark. Why did it move? Was it the hook, the title, the channel, the audience, the offer, or a tracking gap? And what's the counterbalancing metric?
  • Action. No more than three moves a week. Put Dollar a Day behind the winners ($1 a day for 7 days, then $30 over 30 days for the ones that hold up), retitle, re-cut it for another channel, or kill it.

Every clip link carries a UTM tag with its own asset ID, so a booking can be traced back to the clip that earned it. Local Qwen drafts the weekly write-up from the ledger. A person pulls the numbers and makes the call, and I approve every dollar of spend. That's the difference between getting clips published and knowing whether you're actually iterating.

Related

Scroll to Top