Skip to content

Repository files navigation

ViewForge

A self-improving YouTube channel factory, shipped as a Claude Code plugin.

ViewForge brainstorms a niche and a brand, then runs a video from idea to published asset — research → script → voice → motion → edit → package → distribute → measure — and feeds what it measures back into a strategy library so the next video is made better. The visual language is motion graphics, illustration, real footage, and screen capture. It never uses a fake human (an AI avatar pretending to be a real person) as the on-screen visual.

It is opinionated about one thing: it refuses to fool itself. Optimization is driven by a sourced, testable strategy library with a lifecycle, and a hard anti-reward-hacking / anti-overfitting layer in tested code.

/viewforge start a channel about <your interest>

Why it's different

  • Evidence, not vibes. Every optimization tactic is a strategy with a cited source and a lifecycle: documented → testing → validated → retired. The pipeline leans on what's been proven on our own channels, and clearly labels what's still just a documented claim. Seeded from the leaked MrBeast production memos and built to expand.
  • It won't game itself. A strategy can only be validated with enough out-of-sample wins and without sacrificing guard metrics (no clickbait CTR that tanks watch-time). Fabricated/simulated numbers can never promote anything. See ANTI-REWARD-HACKING.md.
  • Organized as departments that improve over time. niche · brand · research · script · voice · motion · edit · package · distribute · analytics — each separable, each with a maturity level (departments/README.md).
  • State you can trust. One channel = one validated, atomically-written, immutable project under state/channels/<slug>/.
  • Remotion-first production. Programmatic React video → every visual element is a tweakable, A/B-testable parameter, which is exactly what the optimization loop needs.

What's built (through v0.10.0)

The foundation plus the full nine-department chain at L2 — a channel can go from "what's it about" all the way to a published video whose real metrics feed back and improve the next one. The analytics department closes the optimization loop, and production is audio-first: scene durations are solved from the real narration (never guessed), captions are word-timed to the voice, renders cache per scene, and the master bus has enforceable loudness targets (−14 LUFS / −1 dBTP).

  • Strategy library: schema + lifecycle + 9 source-cited MrBeast-memo seeds, with a CI gate that rejects any unsourced or malformed strategy.
  • Integrity + state libs (zero-dep, 245 tests): strategy-registry (+ rule domains: packaging|content), guards (hard constraints incl. no-fake-human, research-only-never-published + the promotion gate: out-of-sample, anti-Goodhart, youtube_api-provenance-only, topic-cluster confound guard), niche-score, niche-discovery, brand-brief, video-idea, packaging-experiment (thumbnail Test & Compare — the fast out-of-sample path), script-model (3 scene grammars: education/demo/short), voice-spec, motion-plan, timing-solver (audio-first scene timing: VO overruns bounce to script with a word budget; voice never stretched > ±4%), caption-timing (timestamp-first word sync + whisperX merge), audio-mix (12–15 dB duck + −14 LUFS mastering checks), render-cache (per-scene content-hash render keys + codec-strict concat), capture-plan (capture-first demos: 2x-scale contract, deterministic cursor tracks, Playwright emitter), scene-qc (Gate-B visual harness: WCAG contrast math, caption spot-checks, fail-closed aggregation), gates (Gate 0 at every gate; A/B/publish composed), asset-license, asset-source (provenance: genAI b-roll logs model+prompt+seed; UI-truth must be captured; §22 scene-scoped fallbacks), edit-qa, distribution, analytics (domain separation, provenance admissibility, expiry), youtube-upload, state.
  • Seven L2 departments (/viewforge):
    1. niche-select — discover (autonomous cold-start) or brainstorm → ground → score → rank → commit a channel project.
    2. brand-suite — derive a brand brief, generate the suite via brand-studio, validate all seven deliverables, persist.
    3. video-research — ground ideas, lock the packaged promise, score, hard-block unpaid-off clickbait, lock the slate.
    4. script-write — retention beat sheet (first-minute / crazy-progression / re-engagement / no-dull / no-abrupt-end) + structure validator.
    5. voice-over — narration spec + free local TTS (Piper); synthetic voice disclosed, never a fake human on screen.
    6. motion-graphics — parameterized scene timeline (the A/B substrate) → Remotion-first render; blocks fake-human brands in code.
    7. edit-assemble — final ship/block QA: no dull moments + the hard constraints.
    8. distribution-publish — description/chapters/tags/end-screen + synthetic-voice disclosure, validated (doesn't auto-publish — uploading needs the operator).
    9. analytics-optimize — ingest a published video's REAL metrics, run the promotion gate, advance strategies along the lifecycle. Refuses to learn from simulated data. This is what makes the system self-improving.

ViewForge also generates its own strategies: the first internal one, ground-quantified-claims, was born from a logged mistake and enters as a hypothesis that must earn validation like any other. A worked example (Marginalia EP.01) runs the whole chain from a cold-start niche to a plan-driven Remotion project + brand comps. Run npm run check. Roadmap in ROADMAP.md.

Layout

.claude-plugin/      plugin + marketplace manifests
commands/            /viewforge — the factory router
skills/              the nine departments (niche-select … analytics-optimize)
lib/                 tested zero-dep engines (timing-solver, render-cache, guards, …)
strategy-library/    sourced, schema-valid strategies + SCHEMA + SOURCES
departments/         the department registry + maturity model
plans/               written build plans (05 imagery/audio, 06 audio-first, 07 v2 completion)
assets/              the reusable Remotion render template
state/channels/      per-channel projects (live ones gitignored; _example checked in)
tools/               check-strategies (CI gate), synth-voice, align-words, synth-audio, fetch-assets
tests/               node --test property + BDD suites (245)
ARCHITECTURE.md · ANTI-REWARD-HACKING.md · ROADMAP.md · harness/IMPROVEMENT-LOG.md

Review channel plans (mobile)

node tools/export-plans.mjs renders every channel's plan — niche, brand (with palette swatches), and the locked video slate — into a single responsive docs/index.html you can read from a phone. Served via GitHub Pages so it's just a URL. The live channel state stays local; the page is a small derived snapshot, safe to commit.

The non-negotiables

  1. No fake-human visuals — ever.
  2. Every strategy is sourced; every promotion earns its way past the guards.
  3. State is atomic, validated, immutable; mistakes are dogfooded into the harness as reproducing tests, not notes.

MIT licensed.

About

A self-improving YouTube channel factory: niche → brand → research → script → motion → edit → distribute optimized motion-graphics videos (no fake humans), driven by a sourced, test-over-time strategy library seeded from the MrBeast production memos.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages