Product log · live

Updates

Everything new in videngineer — newest first.

610 updates shipped
610 updates
Filter
Miscv1.0.1010

Browser extension: security hardening + bundled fonts (v1.5.13)

Adminv1.0.1009

A public Updates page — every release, dated and searchable, straight from the changelog

Productv1.0.1005

Find every guide, teardown and program from one Resources menu

Miscv1.0.1002

Refunds and cancellations in plain English — the policy page is live, linked from the footer

Miscv1.0.1001

Smarter analytics under the hood: patterns are now measured by how hard viewers engage, not just raw view counts

Productv1.0.998

Teardown data tidied: every analysis now carries its type, and missing performance numbers were recovered where the source had them

Miscv1.0.992

The Updates page tells the truth now — every release dated, numbered consistently, and checked daily so nothing ships unrecorded

Miscv1.0.986

Library, evolved: one Assets tree with smart views that fill themselves (Inspiration, My Creations, by brand, kind or teammate), collections and moodboards, and share links for any asset or board — public or team-only, with instant revoke

Miscv1.0.964

Solutions page now shows each role its own workflow with real product views

Miscv1.0.953

The custom cursor now follows you across the whole site

Miscv1.0.952

One consistent closing call-to-action across every page

Billingv1.0.951

Added a clear Refund & Cancellation Policy, and made credit validity (12 months) consistent across the site.

Miscv1.0.880

Pricing page closing banner now spans full width

Fixv1.0.533

Fix: serve the proof-wall brand logos (assets route allowlist)

Productv1.0.532

Landing hero: foreplay-scale type + scroll-cover, brand proof wall (9 real logos, mined totals), footer Journal links

Miscv1.0.949

Security hardening: closed a batch of infrastructure gaps — blocked server-side request abuse, stopped a status-page info leak, scoped internal listings to their owner, masked customer data in staff views, and tightened upload/proxy limits. No user-facing change.

Billingv1.0.945

Sharper clean plates: the people-removal now erases the mic and cables too and rebuilds the empty set at full resolution — no more ghost objects or blur. Same 2 credits.

Productv1.0.943

Homepage relaunch: live interactive teardown demo (real Railway ad), reworked hero, engine section, honest proof band, custom cursor

Productv1.0.895

Direct downloads on every asset: download icons next to the save-star on cuts, frames, looks and extractions (paid plans), plus the save-popup can now be dismissed and tidies itself up

Productv1.0.892

Chrome extension v1.5.12: on-brand redesign, live queue progress, star-to-Library from the popup, keyboard shortcuts

Miscv1.0.888

Star whole analyses into your Library — new Analyses section, organize with your existing folders

Billingv1.0.885

Team plan badge now shows for everyone in a team workspace

Miscv1.0.883

Team filter works again — pick a teammate, see only their analyses

Miscv1.0.880

Pricing page redesign: minimal cards — dominant price, one-line promise, 5 bullets, honest exports

Adminv1.0.878

Queue views self-scoped: admin accounts see their own queue by default (global = explicit ops opt-in)

Productv1.0.875

Pro/Power downloads restored: blueprint, exports, ZIPs, cut masters + frame stills — tier+ownership gated (paid users own/public jobs; anon/free blocked)

Fixv1.0.870

Chrome extension v1.5.11: picker confirm-card fix — single card, working Analyze, Not-this re-arms, Escape exits

Miscv1.0.867

Blueprint bp-v2 prompt quality (I2V motion prompts, personalize, tool dialect) + free-tier abuse identity (+address/dot farming blocked)

Billingv1.0.860

Clean plate — the World tab now removes the cast from a set instead of cutting them out. Pick an environment, extract, and study the room the shot was built in: 2 credits, saved to your Library. Defaults to the emptiest angle of the set.

Billingv1.0.848

Team plan now shows up as Team plan — the sidebar and account pill read "Team plan" in the team accent colour instead of aliasing to Pro.

Productv1.0.846

Your first cut blueprint is on us: every free account gets one full blueprint to try before upgrading

Productv1.0.844

Teardown media is now view-only: watch and listen to everything inline, and star anything to your Library

Fixv1.0.836

CUT-03 duration fix — cut clips show real length (not model guess); source-video timestamps labeled.

Miscv1.0.834

Chrome consistency — logged-in users on /a/ share links get the full app view; anon public sharing intact.

Billingv1.0.832

Billing leak fix — plus-address emails no longer read an empty ledger (was: unlimited free credits). Canonical+encoded email across credit path.

Productv1.0.798

Cut-out extractions now reliably save to your Library — including ones you re-open and extractions you made earlier.

Productv1.0.794

A refreshed site-wide footer — feature highlights, trust badges, a live count of cuts studied, and a cleaner mobile layout.

Productv1.0.789

Your cut-out extractions now save straight to your Library, with a live tray that tracks each one as it is made.

Miscv1.0.781

A rebuilt footer with real navigation and a clear closing call-to-action across the site

Productv1.0.774

Stem extraction only charges you once it succeeds — and re-opening stems you already have is free

Billingv1.0.771

Isolate any cast member straight from the teardown page — transparent cut-outs, one credit, free to re-open

Miscv1.0.769

Format and brand pages you can actually visit — one click to a real page, chips show your active filters

Miscv1.0.764

Pricing that answers the hard questions — FAQ, a straight guarantee, and one clear path to start

Miscv1.0.756

Download everything you extracted — one ZIP for all entities, plus per-item bundles that actually download

Billingv1.0.754

Cut Blueprint is live — a shot-by-shot production plan from any analysis, 2 credits, charged only when it delivers

Productv1.0.750

A new front door for the teardown library — featured breakdown, live stats, real numbers

Billingv1.0.747

Plan boundaries are real now — free cleanup runs, API keys match your plan, downloads live where the content lives

Miscv1.0.740

Pricing copy tells the truth — webhooks parked until they exist

Pipelinev1.0.739

Library counts that add up, un-star that just un-stars, docs in our own colors, and real performance numbers on every analysis

Miscv1.0.731

Docs housekeeping

Billingv1.0.730

A simpler pricing page — two plans, and what credits cover

Productv1.0.705

New teardown library hero — See why it won. Keep the playbook.

Productv1.0.704

Library gets a list view — and your chosen teardown now rides along into the analyzer

Adminv1.0.700

Admin allowlist tightened — removed an unrecognized address

Adminv1.0.699

Admin hardening — retired the legacy admin write proxy, tester access is now tester-shaped, every admin action leaves a receipt

Productv1.0.695

Filter the teardown library — and “Run this on your video” now lands where it promised

Productv1.0.690

Teardown library — sidebar everywhere, bigger hero, closed the prompt leak

Miscv1.0.676

One footer, everywhere

Productv1.0.674

Teardown library sidebar + a smarter app rail

Miscv1.0.669

Cleaner source-quality notice

Productv1.0.666

Teardown view redesign — full-width cuts, one-line tabs, quieter source notice

Miscv1.0.654

Viral badges move onto the card thumbnails

Pipelinev1.0.595

Analyses: durable owner attribution so no analysis is ever hidden from your library

Miscv1.0.594

Analyses list: badge shows your true library total, not the loaded page

Fixv1.0.593

Fix: cancelled analyses no longer restart after a deploy

Miscv1.0.592

Analyses list: see ALL your analyses (paginated, Load more) and loads instantly at any scale

Productv1.0.590

New one-step way to report a teardown — a clear, prefilled takedown flow for rights holders.

Productv1.0.588

Browse teardowns by format — new category pages (product ads, brand films, launch videos and more) that link the whole library together.

Productv1.0.587

Teardown pages get a consistent header and footer, breadcrumbs, and richer results markup so they surface better in search.

Productv1.0.586

Teardown library gets real filters — narrow by format, industry or brand and sort by views, freshness, engagement, 4K or length, with a live counter of every view analysed.

Productv1.0.585

Teardowns are now free to read — the full analysis (every signature cut, the sound map, the blueprint and cast) opens for anyone. Sign in only to download or run your own.

Productv1.0.583

Teardown pages read cleaner: the preview note tucks into a popup instead of a strip, and every teardown ends with a 'run your own — free' prompt.

Pipelinev1.0.582

Queue view: numbered rows + a source-resolution badge (4K/2K/1080p) on every analysis

Pipelinev1.0.581

Batch analysis now pulls true 4K on eligible plans; higher throughput

Pipelinev1.0.580

Batch analysis + queue: line up many videos at once, watch them drain, cancel from a queue view

Productv1.0.571

Teardown library gets navigation labels — 🔥 Viral, Hot, New and ✦ 4K badges you can filter by — plus each card now shows the video's runtime and the social channel it came from.

Productv1.0.570

The teardown library, cleaner: one card design, one grid, sorted by vitality — filter by format or ✦ 4K, sort by views or newest, and see the channel behind every teardown.

Productv1.0.569

Quality signal in the library: teardowns built from a true 4K source now carry a ✦ 4K badge and a matching filter, so the sharpest breakdowns are easy to spot and sort to.

Pipelinev1.0.567

Internal: storage config made environment-portable

Productv1.0.564

Faster teardown library + tighter reading layout: the teardowns index now opens instantly, each teardown reads at a comfortable width instead of full-bleed, and the “keep studying” row now surfaces teardowns from every category, not just one.

Miscv1.0.563

Internal: staging environment bootstrap kit

Miscv1.0.562

Internal: engineering practice docs updated for all agents

Productv1.0.558

Public teardowns, rebuilt: 8 featured breakdowns with real source numbers (views, likes, comments), free full read with an account, preview for visitors. New rights page (/dmca), refreshed teardown library and homepage picks.

Miscv1.0.533

Cost ledger complete — every call carries its job, wait time, and retries; failed attempts are counted; daily spend total no longer double-counts

Productv1.0.532

Complete cost visibility — every analysis call is now in the cost ledger with per-job attribution; team invite accounts get their intended unlimited access

Fixv1.0.530

Global model worker pool — provider calls are now capped, queued, and back off together under load; pool pressure visible in ops health

Pipelinev1.0.526

Analysis results now save continuously during a run — a type mismatch was silently blocking every mid-run save

Fixv1.0.525

Better internals: database errors now logged with full detail so issues surface immediately

Miscv1.0.523

Global footer partial (_foot.html) injected across all marketing pages; removed the glowing $19.99 banner from pricing

Fixv1.0.522

Fixed a silent save bug — analysis progress and resume checkpoints now persist mid-run (they were quietly failing)

Fixv1.0.521

Groundwork for resumable analyses — fixed how job progress is written to the database

Pipelinev1.0.518

Deploys no longer restart analyses — jobs resume from the last completed stage (plus a 24h stale-job cleaner)

Productv1.0.515

Pricing: Power $49 off the market → Team early access with email capture (vid_waitlist + signup notifications)

Miscv1.0.514

Scale P2 merged: streaming zips (8 endpoints) + streaming uploads + per-IP rate limiter (agent branch, reviewed byte-identical)

Productv1.0.511

Bobby rule: purged AI-tool names from live landing copy (copy-sprint audit finding)

Pipelinev1.0.510

CLAUDE.md: canonical positioning + copy rules for all agents

Productv1.0.510

Landing hero → team positioning (Mark-approved Option A)

Fixv1.0.507

Scale hardening P1: graceful deploy drain, cache bounds, heavy-download guard; stale queued jobs closed

Miscv1.0.505

Extension v1.5.9: picker confirm card (host + duration + cross-site embed warning) — ends the wrong-video mis-targets

Pipelinev1.0.504

Cancel an analysis: endpoint + pipeline abort + UI button; cancelled runs refund quota

Productv1.0.503

Power $49 buyable: /go/power → payment link; pricing/landing/solutions flipped from Soon to live

Productv1.0.499

Cast & World reference sheets downloadable — entity.zip (all angles) + header button

Miscv1.0.496

Extension v1.5.6: Grab and upload from this tab — pulls unfetchable videos through the user browser

Pipelinev1.0.496

Ingest: generic yt-dlp + impersonation + residential proxy rotation + LI_COOKIES support

Fixv1.0.495

experimental notice: triple inline banner (loop bug) → one dismissible popup per session

Productv1.0.494

Sound & Script marked experimental (banner + feedback mailto); sung-video voice-layer subtitle

Productv1.0.493

voice_mode ratio rule; Higgsfield bed remixed with vocals (music_full.mp3, versioned cut keys)

Fixv1.0.491

Song-driven audio fix: sung vocals remixed into the music bed (voice_mode classifier), music-driven banner + agent flag

Productv1.0.489

Sound tab r2: rail removed, FULL MIX vs MUSIC ONLY labels, playable isolated score, SFX scene thumbnails

Fixv1.0.487

Teardown UX: back pill top-right, Export as direct tab (More gone), Sound per-scene grid removed; nav comment leak fixed

Billingv1.0.486

pricing: canonical header + honest feature bullets (Sound Kit, Library, credits) — consistent with landing/solutions

Productv1.0.485

ONE marketing header (_nav.html via VE_NAV marker) on faq/solutions/gallery/teardowns + FAQ rewritten Bobby-safe

Productv1.0.484

Solutions v2 (B2B feature-by-feature) + 3 launch-video teardowns published to the gallery

Miscv1.0.483

solutions routed via canonical marketing dispatcher — live at /solutions

Billingv1.0.482

Launch-night: per-plan concurrency caps (free=1), /solutions page, honest pricing bullets, tour parked

Miscv1.0.480

Library folded into the app shell (#library) — one container rule; /library redirects in

Miscv1.0.479

Nav: Asset Extractor + Ad Intelligence parked (off-brand — roadmap; direct links still work)

Fixv1.0.478

HQ SEO health view: live crawlability, sitemap freshness, per-page Google index status

Pipelinev1.0.477

SEO: sitemap lastmod = deploy date (re-crawl signal); audit filed — 9 action items in the tracker

Productv1.0.476

SFX name synergy: isolated clips take the sound-design event names (timestamp match, free) — pills and clips now speak the same language

Pipelinev1.0.475

Star toggle + chirp + library toast · SFX auto-labeling (Gemini) · kit backfilled on re-runs

Fixv1.0.470

cuts.zip fix: UA header on internal R2 fetches (was producing an empty zip)

Fixv1.0.469

All media downloadable + favoritable: cuts.zip, universal R2 download fix, universal ★ on every media overlay

Fixv1.0.468

reextract: re-runs land in the owner Analyses tab (admin-triggered heals attributed to the original owner)

Fixv1.0.467

Music-cut labels flipped, play conflict fix, cast/look stars in Library, engine-version banner with one-click re-analyze

Pipelinev1.0.465

watering_holes wired into cron (Monday AM) + Sonnet-5 per-hole engagement drafting

Miscv1.0.464

Library: favorite stars (top-right, not flag) + Dreamina-style detail view (download, sandbox coming soon)

Fixv1.0.463

radar: two new query angles (launch/demo video, Product Hunt) + ISO date fix

Fixv1.0.462

swipes: stable identity for the admin cookie

Fixv1.0.462

Swipe Library v1: ⚑ on cuts/music/sfx → /library (filter, play, download, remove) + /api/dl force-download proxy + Sound tab polish (whole-track demoted, SFX flat list)

Productv1.0.460

Sound kit: music CUTS from the isolated stem + SFX clips sliced from the isolated layer (one isolation pass = full kit)

Miscv1.0.459

GSC: single handler, 28-day window, env fallbacks

Adminv1.0.458

HQ: Search Console live (queries/pages/CTR 7d) + changelog audit mode (search, day groups, area tags)

Adminv1.0.457

Sound sprint: voice-grounded script (Demucs), sung-lyric ♪ detection, audio engines on the switchboard (Power auto-grounding)

Billingv1.0.456

credits: month window in Python (Directus rejects _gte on string created_at)

Billingv1.0.456

Sprint 2 core: credits ledger + Power $49 + 4K ingest + invoices in HQ

Productv1.0.454

Sound dock: Spotify-style transport (live mood readout, hover mood chips, mood-glow playhead)

Adminv1.0.453

changelog: numeric version sort (backfilled ids are not insertion-ordered)

Adminv1.0.452

HQ v5: uptime/incident tracking, changelog w/ versions, editable user hub, teardowns by type

Adminv1.0.451

HQ v4: graphs-first everywhere, user hub, sandbox, code creation, ops email report

Adminv1.0.450

HQ v3 — Mark's audit pass: perf cache, everything wired, Teardowns+Codes views, visual A/B

Billingv1.0.449

HQ v2 — sidebar views, D/W/M charts, Stripe revenue, Dory's pipeline blueprint

Adminv1.0.448

HQ: Search Console tile (top queries · clicks · impressions · position, 7d)

Adminv1.0.447

HQ: Clarity UX-signals tile + API/integrations inventory

Adminv1.0.446

HQ access: owner/admin TIER = full admin (normal Google logins never carry is_admin) + transparent sign-in-needed page

Adminv1.0.445

HQ: Cloudflare traffic tile — 7d uniques/pageviews + top countries

Adminv1.0.444

HQ user-activity: exclude internal/team accounts from all metrics

Miscv1.0.443

chore: apply HQ_VIEWERS env (Dory + Mark gmail viewer access)

Adminv1.0.442

Visual Admin HQ (baseline) — /admin/hq for Mark + HQ_VIEWERS (Dory)

Productv1.0.441

Dockerfile: COPY model_router.py + cron entrypoints — the deployed container never had them

Productv1.0.440

Transcription: mandate per-sentence timestamp granularity for the FULL duration

Fixv1.0.439

Claude 5 family response parsing: join text blocks (thinking block first KeyError'd 'text')

Fixv1.0.438

Model router → Directus API (the shared data studio, not videngineer's Supabase) + Sonnet-5 sampling fix

Adminv1.0.437

Sprint 1: model routing via Directus + per-call cost log + ops A/B endpoint

Fixv1.0.436

ROOT CAUSE of the cuts wipe: 'R2 takes precedence' merge dropped Supabase cuts on every boot — deep-graft guard. + bottom-docked player + premium scroll

Fixv1.0.435

Cuts wipe-guard + open blend build to signed-in users + cache-proof job fetches

Productv1.0.434

Sticky Sound player + Watch-source → original post + re-enable Demucs isolation

Fixv1.0.433

Fix boot crash: export extract_waveform_peaks from the analysis package

Fixv1.0.432

Fix teardown crash on no-music videos (renderVals: reading 'mood' of undefined)

Productv1.0.431

Cuts built WITH the analysis (before 'complete') + kill the JSFILMZ audio race + auto-load cuts in the app

Productv1.0.430

Add backfill_cuts.py — one-off Railway backfill of signature cuts for complete jobs missing them

Productv1.0.429

Real audio waveform — extract amplitude peaks from the audio, render them in Sound

Productv1.0.428

Wire Sound summary to real sfx_analysis.recreation_recipe (was hardcoded prose)

Miscv1.0.427

Wire Blueprint hero to real comprehension (was hardcoded JSFILMZ montage copy)

Productv1.0.426

Cuts UX: auto-build on open + live loading state (no manual click) + surface pipeline silent-fails

Miscv1.0.425

Disable Demucs isolation (voice + music + per-scene) for now via SEP_ON flag

Pipelinev1.0.424

First-Comment Radar: Apify → fresh solo-founder launch videos → Airtable queue (twice-daily cron)

Productv1.0.423

Teardown: kill all mock-bleed (J ? real : empty everywhere) + real cut intermediary frames

Productv1.0.422

Cut titles: Opus = Dylan early-access ONLY, everyone else Sonnet (no PRO tier)

Fixv1.0.421

Auto-cuts: remove fragile video_url/frame_urls gate (the flaky-auto-cuts bug)

Productv1.0.420

Remove confusing 'Free read' pill from cut-detail header

Productv1.0.419

Build-cuts / deep-cluster endpoint defaults to Sonnet technique titles

Billingv1.0.418

Technique titles for EVERY analysis on Sonnet (Opus reserved as PRO-plan hook)

Productv1.0.417

Dylan-only LLM technique titling on blend cuts (Opus), keep the $0 clips

Productv1.0.416

Narrow embedded teardown to r9 width (1360, was 96vw/1680 = too wide) + diagnose silent auto-cuts failure

Productv1.0.415

Add 'Build the cuts' button to the empty Cuts state (on-demand $0 blend)

Productv1.0.414

Ungate auto-cuts: build the $0 blend grid for EVERY analysis, not just paid

Productv1.0.413

Voice player: actually PLAY the isolated vocals.mp3 (was a fake setInterval that played nothing)

Productv1.0.412

Voice/stem layer: read existing job.stems on load + correct logical path

Productv1.0.411

Widen embedded teardown to near-full-width (match r9)

Miscv1.0.410

Voice toggle: hide on real jobs (production), show only in design preview

Adminv1.0.409

Script voice-state: auto from real audio (voice_analysis/voice_style); hide Preview-state toggle for non-admins

Productv1.0.408

Cuts empty-state: real count + clean 'no cuts built yet' message (every existing job has empty Cuts)

Productv1.0.407

Integrate r9 teardown into the live app (/app#job) + empty-state safety

Productv1.0.406

teardown /a: wire top-nav + breadcrumb to real /app routes; remove dead Share/X/.md trio

Productv1.0.405

Ship r9 teardown design: /a read-only route + real data/isolate wiring; purge ROI+Thumbnail; cuts-in-analysis

Miscv1.0.404

Log: 86bf839 PUSH 2 backend (blend real shot-clips)

Productv1.0.403

PUSH 2: real shot-based cuts via the blend (free ffmpeg)

Productv1.0.402

Log: 565bdeb Cuts cost-safety deploy (on-demand gated briefs + real cost)

Productv1.0.401

Cuts cost-safety: on-demand gated briefs + real cluster cost

Adminv1.0.400

Admin model-picker: pick clustering model per run (haiku/sonnet/opus) + deploy log

Adminv1.0.399

Gate The Cuts to admin (coming soon for rest) + model-aware cost

Fixv1.0.398

Fix: drop temperature for Opus 4.7+/Fable (they 400 on sampling params)

Fixv1.0.397

Add admin Opus clustering + fix force-recompute

Fixv1.0.396

Fix admin cost-provider labels: frames/entities/deep_clusters run on Claude, not Gemini

Fixv1.0.395

Fix deep-vision: auto-detect image media type (webp was sent as jpeg)

Productv1.0.394

Purge: cut off-ICP features + stop computing roi/kids

Productv1.0.393

Export: complete teardown.zip + disable public share

Miscv1.0.392

docs: human-first rework — purple brand + wordmark logo, remove API/curl

Miscv1.0.391

docs: migrate mint.json → docs.json (Mintlify build was failing on deprecated config)

Miscv1.0.390

docs: ICP-shaped rework + Bobby scrub

Fixv1.0.389

Remove broken mintlify GitHub Action (mintlify/action repo does not exist)

Pipelinev1.0.388

Wire Mintlify project ID + GitHub Actions deployment workflow

Productv1.0.387

Add Mintlify docs site — ICP-shaped docs for Scriptwriters + Agent Builders

Miscv1.0.386

polish(cta): let the mountains read in the closing CTA (growthOG-hero style)

Productv1.0.385

polish(landing): footer band → growthOG's contained size + same mountain treatment on the pre-footer CTA

Miscv1.0.384

polish(footer): bigger wordmark + taller band so the full peak+wheat image shows

Fixv1.0.383

redesign(footer): swipe growthOG's brand band — cream wordmark over the centered-peak horizon

Fixv1.0.382

fix(landing): split footer — normal black footer + separate mountain wordmark band below (growthOG structure)

Productv1.0.381

feat(landing): growthOG-style footer — big videngineer wordmark over dusk-mountains

Productv1.0.380

feat(landing): cinematic dusk-mountains backdrop on the closing CTA

Miscv1.0.379

feat(profile): capture + display Google profile pictures (Stage 1)

Miscv1.0.378

copy: reposition from 'copy machine' → reference/study tool

Miscv1.0.377

polish(app): soften em-dashes to en-dashes in rendered text (AI-tell)

Billingv1.0.376

feat(billing): DataFast revenue attribution — /go/pro creates a Checkout Session with visitor metadata

Miscv1.0.375

feat: install DataFast analytics on every page (server-side inject)

Miscv1.0.374

docs: spec for videngineer MCP — analyze→recipe→Vidgentic generation loop

Pipelinev1.0.373

feat(cost): exact per-analysis cost from real provider token usage

Productv1.0.372

feat(signup): invite card — nicer on-page invite + invite-framed OG unfurl for chat shares

Fixv1.0.371

fix(analysis): voice profile, title extraction, clean format tag — from quality audit

Fixv1.0.370

fix(cuts): serve deep_clusters from reliable R2 backup before recomputing

Billingv1.0.369

account: show 'Manage billing & invoices' to owner/admin so internal accounts can preview the Stripe portal flow

Billingv1.0.368

copy(account): relabel 'trial' tier → 'Free' (it's the free tier, not time-limited)

Fixv1.0.367

content(blog): add 'We don't recreate your art' post + Bobby-scrub welcome + fix build template

Miscv1.0.366

content(blog): Bobby-friendly rewrite of why-90-seconds — drop margins, AI internals & weakness section

Billingv1.0.365

copy(account): clarify the Stripe portal covers invoices ('Manage billing & invoices')

Fixv1.0.364

feat(help): consolidate tour + bug into one Help hub (with an Ask-the-assistant slot)

Fixv1.0.363

fix(tour): URL step accepts a pasted link OR an uploaded file — don't trap upload users

Fixv1.0.362

fix(nav): group Sign in next to Start free (right cluster) instead of floating mid-nav

Miscv1.0.361

chore: 301 Railway domain → apex · rebrand hi@ → mark@ (founder-led) · @dherealmark in footer

Fixv1.0.360

fix(copy): don't list Instagram as a paste-able link (it's auth-gated)

Miscv1.0.359

feat(onboarding): make corner helpers noticeable — pulse + first-visit callouts

Productv1.0.358

feat(onboarding): make ?welcome=pro repeatable so the full sequence is sandbox-testable on any logged-in account

Productv1.0.357

feat: 3 free teardowns + granular tour (upload/auth-gated + Ad Intelligence steps, gated, robust) + visible Take-a-tour pill

Fixv1.0.356

fix(cuts): detect collapsed-frame analyses, show re-run banner instead of fake identical cuts

Miscv1.0.355

feat: extension live on Chrome Web Store — link to store, drop the .zip flow + launch banner

Productv1.0.354

feat: one free analysis for new users + scannable Cuts grid

Fixv1.0.353

feat(support): bug widget reframed as 'Message Mark' — founder face + X direct line

Miscv1.0.352

feat(onboarding): 'Take a tour' in Resources + welcome modal X direct-line & farm-photo slot

Productv1.0.351

feat(onboarding): auto-start the walkthrough for brand-new (zero-analysis) accounts

Miscv1.0.350

feat(onboarding): guided spotlight walkthrough for new users

Fixv1.0.349

feat(resilience): detect LLM outages, flag degraded analyses, alert + ops health

Fixv1.0.348

fix(ux): move bug-report button to bottom-right + label it 'Report a bug'

Billingv1.0.347

feat(billing): self-serve cancel via per-customer Stripe Customer Portal

Billingv1.0.346

fix(billing): webhook now grants Pro for $19.99 — was stamping paid users 'trial'

Billingv1.0.345

Paywall UX: real upgrade moment + each extraction gets its own UID

Billingv1.0.344

Hard paywall: analysing is Pro ($19.99/mo), browsing teardowns stays free

Fixv1.0.343

fix(auth): a DB blip no longer masquerades as an invite wall

Productv1.0.342

Stop Cloudflare caching frames.zip downloads

Fixv1.0.341

Fix empty (22-byte) frames.zip downloads

Miscv1.0.340

Ship extension v1.5.4: crisp brand icon + deterministic /extension.zip with live SHA-256

Fixv1.0.339

Add /support contact page (bug reports · collabs · anything)

Miscv1.0.338

Privacy: add the browser-extension section (required for Web Store privacy-policy URL)

Miscv1.0.337

Extension page: real browser logos + make the .zip / load-unpacked explicit

Productv1.0.336

Extension page: eager-load the hero demo GIF so the frame isn't empty on first paint

Productv1.0.335

/extension redesign (MetaMask layout) + teardowns caching + app nav

Productv1.0.334

Signup: restore the team access-code field (was deleted; JS referenced a ghost)

Billingv1.0.333

Time-boxed access codes: 30-day team trials that actually block on lapse

Miscv1.0.332

Picker 1.5.3: full-stack hit scan + ambient-signature filter; pill to bottom

Productv1.0.331

Picker 1.5.2: resolve custom-player stream sources (the Runway 0-frames fail)

Fixv1.0.330

Extension funnel: /extension page + announcement bar + free-for-all gating + picker fixes

Productv1.0.329

Landing: add Chrome extension download to nav + footer

Productv1.0.328

Landing: blueprint-grid texture on every section + CRO polish

Fixv1.0.327

Fix queue load + true job cancellation

Productv1.0.326

Dockerfile: COPY extension/ so /extension.zip serves the real files

Miscv1.0.325

Extension v1.4: queue robustness, sign-out, site download at /extension.zip

Miscv1.0.324

Add videngineer browser extension (v1.3.1)

Fixv1.0.323

Fix download UX + concurrency + montage note

Productv1.0.322

Montage auto-detect: cut-density probe -> dense sampling + result badge

Productv1.0.321

Deeper analysis for short fast-cut videos: 1s sampling under 35s + speed clamp

Miscv1.0.320

Share: public /share/<job_id> page + branded OG card + Share/Post buttons

Miscv1.0.319

Agent docs: document the read-by-link flow for completed analyses

Miscv1.0.318

ALEX_CONTEXT.md — CTO cold-start context for Alex

Fixv1.0.317

Beta framing: BETA pill in the app nav + beta copy in the bug-report modal

Fixv1.0.316

Bug reporting: in-app reporter -> vid_bugs -> admin ops feed

Fixv1.0.315

HOTFIX: NameError 'yt_proxy' crashed the YouTube download error path

Miscv1.0.314

Ad Intelligence: /get-video-ideas is now a manifesto/funnel page (one tool = the app)

Fixv1.0.313

Marketing: fix logo link (href="#" -> "/") so it doesn't land on /#

Miscv1.0.312

Ad Intelligence: recent searches (replay from 24h cache = free)

Miscv1.0.311

Ad Intelligence: resolve brand -> real Page + expand for full recall (+ scrape retry)

Miscv1.0.310

Ad Intelligence: keyword-search brands (drop slug-guessing) + filter junk + forgiving match

Miscv1.0.309

Ad Intelligence: keyword-search fallback so brand search actually finds ads

Miscv1.0.308

Ad Intelligence: bake search help + tooltips into the UI

Miscv1.0.307

Ad Intelligence: remove the Leaderboard tab — clean search tool

Miscv1.0.306

Ad Intelligence: server-backed Saved (vid_saved) + simplify to a prototype

Fixv1.0.305

Ad Intelligence in-app: stop auto-scraping on load, fix Watch, drop static presets

Miscv1.0.304

Ad Intelligence: open the in-app view from the app nav + rename everywhere

Miscv1.0.303

Winning Wall P0: recent + saved searches, suggested chips, filters

Billingv1.0.302

Promote Winning Wall to top-level nav + fix landing pricing duplication + clean search box

Fixv1.0.301

fix(winning-wall): remove dead "Remake mine", play the ad video, real metrics, proper sign-in gate

Miscv1.0.300

feat(discover): The Winning Wall — in-product competitor ad wall replaces the get-video-ideas link-out guide

Fixv1.0.299

Unlock Pro: code-redeem modal + brute-force guard on redemption

Productv1.0.298

GA4 conversion events + Scriptwriter->Pro rename (target video-marketing operators)

Miscv1.0.297

Add Microsoft Clarity (heatmaps + session replay) site-wide

Billingv1.0.296

Pricing: $11.99 -> $19.99 (single Pro plan, B2B positioning)

Productv1.0.295

Remove 'free teardowns to start' hint + add self-serve cancellation

Billingv1.0.294

Asset Extractor: persistent 5-crawl free cap (was in-memory, reset each deploy) + wire Pro Stripe link

Billingv1.0.293

Copy: 3 -> 5 free teardowns everywhere (match the new trial limit)

Productv1.0.292

Dockerfile: COPY oauth_google.py so Google login works (was ModuleNotFound)

Productv1.0.291

Codes move to in-app redemption: frictionless signup + redeem in /account

Productv1.0.290

Tier-code access system (vid_codes) + leads get 5 free + client tier

Miscv1.0.289

Nav reflects logged-in state (Sign in -> Open app when authed)

Fixv1.0.288

Fix login loop: stop burning magic-link token on first GET (email scanners)

Productv1.0.287

Teardowns: DB-driven sitemap + edge-cacheable anon pages (load time)

Productv1.0.286

Teardowns: per-teardown thumbnail override (poster_url) + claymation → frame 2

Fixv1.0.285

Remove temp teardown render-debug endpoint (instant-publish confirmed live)

Productv1.0.284

Dockerfile: COPY scripts/ so the server can import build_teardown (instant-publish)

Fixv1.0.283

Instant-publish: harden load() cache for read-only FS + temp render debug

Fixv1.0.282

Fix instant-publish: load build_teardown from scripts/ (not on default path)

Productv1.0.281

Instant-publish: render teardowns live from vid_teardowns (no rebuild)

Fixv1.0.280

Fix redirect lookup: import admin locally (NameError swallowed the load)

Adminv1.0.279

Teardowns: Directus-managed redirects (#1) + DB-driven metadata (#2)

Productv1.0.278

Teardowns: activate server-side premium gating + A/B CTA + claymation teardown

Billingv1.0.277

Stripe: revert wrong Get-Pro link + wire Pro-beta price→unlimited

Billingv1.0.276

App polish: lean top bar, tight plan label, hero→new-analysis, Get Pro→Stripe

Miscv1.0.275

Asset Extractor: open in-app (inside the app shell), not a separate page

Miscv1.0.274

Social card v2: mirror the hero live-console (real product demo)

Miscv1.0.273

Bump OG image cache key to v=3 (CDN cached stale v=2)

Miscv1.0.272

Improve social share card (OG image)

Billingv1.0.271

Asset Extractor: promote to a primary nav tab

Miscv1.0.270

Asset Extractor: decode HTML entities in crawl titles

Adminv1.0.269

Asset Extractor: blend crawls into the app dashboard

Billingv1.0.268

Dashboard: lift count + plan + search into the top bar; drop the in-view header

Adminv1.0.267

Dashboard header: force flex-direction:row (class had column → was stacking/centering)

Billingv1.0.266

Dashboard: collapse the wedged plan/stat/search stack into one clean header row

Fixv1.0.265

Asset Extractor: HTML-decode asset URLs (&amp;→&) + fix orphaned & after resize-strip

Miscv1.0.264

App header: hamburger menu on mobile (nav + Asset Extractor NEW collapse into it)

Fixv1.0.263

Fix: COPY asset_extractor.py in Dockerfile (was missing → /api/tools/* 502)

Miscv1.0.262

Asset Extractor → production: tool, routes, legal, limits, robots

Pipelinev1.0.261

Merge deploy-banner: reconnect UX during deploys

Miscv1.0.259

Merge cost-reporting: backfill + CSV export + spend-over-time chart

Adminv1.0.258

Cost dashboard: CSV export + real SVG spend-over-time chart

Pipelinev1.0.257

Deploy reconnect banner: calm 'Reconnecting…' UX during restarts

Miscv1.0.257

Backfill: re-estimate cost_usd for historical jobs (March/April were $0)

Adminv1.0.256

Merge admin-api-costs: API cost dashboard at /admin/costs

Adminv1.0.255

Admin: API costs dashboard (/admin/costs)

Fixv1.0.254

Merge fix-overview-cache: stop overview re-generating every load + delete btn + toast X

Fixv1.0.253

Fix overview regenerating on every load + add delete button + toast close X

Pipelinev1.0.252

Merge deploy-safe-uploads: uploaded files persist to R2 → survive deploys

Pipelinev1.0.251

Deploy-safe uploads: persist uploaded files to R2 so deploys never lose them

Pipelinev1.0.250

Copy: trim the new-analysis header bloat

Productv1.0.249

Merge accounts-ux: cleaner avatar dropdown + merged usage counter + Pro→unlimited

Miscv1.0.246

Merge google-login: Sign in with Google (OAuth) alongside magic link

Miscv1.0.245

docs: GOOGLE_LOGIN_SETUP.md — Google Cloud + Railway env steps + provider options

Miscv1.0.244

Add 'Sign in with Google' (OAuth) alongside magic link — fully wired

Fixv1.0.243

Merge fix-upload-cors: server-upload fallback when R2 direct PUT is CORS-blocked

Fixv1.0.242

docs: UPLOAD_FIX.md — R2 CORS root cause + 60-sec dashboard fix + fallback explainer

Miscv1.0.242

Pro-beta purchase grants unlimited (env-overridable) + handoff doc

Fixv1.0.241

Fix: file upload fails with 'network error during upload' (R2 CORS block)

Productv1.0.241

Accounts UX: cleaner avatar dropdown + merge usage counter into menu

Miscv1.0.240

docs: feature context — Brand Kit Extractor (free login-gated lead tool)

Productv1.0.239

Teardown #20: AI-video tool direct-response ad (real R2 job 08a7a63ab1ba)

Miscv1.0.238

Analytics: swap Plausible → GA4 (G-3YQNEZNFV2) site-wide

Productv1.0.237

Signup-first funnel: all analyze CTAs → /signup, in-app gate redirects to signup

Miscv1.0.236

App: header analyses counter + "Unlock Pro"; Plausible analytics site-wide

Productv1.0.235

Signup: one-click "sign in or create" (no second button)

Billingv1.0.234

Label the trial tier "Free trial" (not "Free") — it's a trial, not a plan

Productv1.0.233

Signup: cleaner access-code field + cap analysis length (anti-abuse)

Billingv1.0.232

App: surface the 4-concurrent limit (analyze form + account plan card)

Miscv1.0.231

Cap concurrent analyses at 4 per user (anti-misuse)

Pipelinev1.0.230

docs: backlog idea — color-grade/LUT analysis → matchable recipe

Pipelinev1.0.229

docs: backlog idea — reference-format analysis for creators' own videos

Miscv1.0.228

Remove the 6 legacy lead-magnet PDFs

Productv1.0.227

SEO: videngineer format collection pages (/teardowns/<facet>) + SEO_CONTEXT

Productv1.0.226

signup: team access code (self-serve team accounts) + owner /pages index

Billingv1.0.225

app dashboard: plan + credits on top (drop progress bar + sort dropdown); teardown library logo matches site wordmark

Miscv1.0.224

SEO: 301 www.* → apex so the stale parked www page consolidates (was 404)

Miscv1.0.223

SEO: homepage Organization + WebSite schema, canonical, apple-touch-icon

Miscv1.0.222

Gallery: old card layout (2-col stat grid) + clickable tags + tag filters

Productv1.0.221

Teardowns go live: 5s timed sign-in gate + v2 gallery + close PDF/crawl bypass

Productv1.0.220

SEO: list all 19 teardowns in sitemap.xml (was just flying-money)

Productv1.0.219

App nav cleanup + mobile: New analysis as a top-nav CTA, account only on the right

Fixv1.0.218

docs: ops guardrails operator guide (flags, dashboards, test order)

Fixv1.0.217

ops: scale/launch guardrails (spend kill-switch, rate-limit, SSRF, KPI, Sentry)

Productv1.0.216

Teardowns v2: 19 SEO teardowns on app-mirroring template + work-email/website lead gate

Miscv1.0.215

feat(nav): app top bar — fold 'Get video ideas' into a Resources dropdown

Miscv1.0.214

feat(nav): unify marketing nav + Resources dropdown

Fixv1.0.213

fix(landing): restore the scroll-jack — overflow-x:hidden was killing position:sticky

Fixv1.0.212

fix(landing): swap broken scroll-jack for stacked · homepage pricing → Pro+Power · nav fixes

Fixv1.0.211

fix(pricing): Power card no longer all-caps; fair-use moved to footer link

Productv1.0.210

copy(landing): nav 'Product' → 'How it works'

Productv1.0.209

feat(landing): add 'Find ideas' to main nav + footer → /get-video-ideas

Miscv1.0.208

feat: ship Get-Video-Ideas resource page · swap Discover tab for a button

Fixv1.0.207

fix(landing): tighten the pipeline scroll-jack (kills the 'big space')

Miscv1.0.206

feat(pricing): two plans — Pro $11.99 (everything included) + Power (soon)

Fixv1.0.205

feat(style): /style — internal design-system swipe doc

Productv1.0.204

feat(signup): rebuild in the aubergine system (was off-brand)

Adminv1.0.203

feat(dashboard): drop dead 'Saved ads' tile -> live 'scenes analyzed' stat

Miscv1.0.202

feat(find-video): 2GB upload cap · lighten in-app guide · publish resource page

Adminv1.0.201

ui(dashboard): drop 'minutes analyzed' stat, compact the stat strip

Fixv1.0.200

fix(auth): logged-in users hitting /signup redirect to /app

Fixv1.0.199

fix(auth): session persists even when SITE_TOKEN is unset

Pipelinev1.0.198

feat(new-analysis): 'Find a video' discovery-guide slide-over

Fixv1.0.197

fix(logo): kill the 'vid engineer' gap (flex-gap was splitting the wordmark)

Productv1.0.196

style(texture): film grain on teardown pages + gallery

Miscv1.0.195

style(texture): house-style film grain across marketing + product

Miscv1.0.194

feat(discover): page-based only — disable broad keyword/category scraping

Fixv1.0.193

fix(discover): kill keyword-search junk — exact-phrase + brand-relevance filter

Adminv1.0.192

feat(dashboard): per-analysis delete button

Productv1.0.191

feat(analysis): rename to 'The Cuts', Summary-first tabs, per-cut + ZIP downloads

Miscv1.0.190

style(logo): accent 'engineer' instead of 'en' in the wordmark

Miscv1.0.189

feat(discover): new-tab Analyse, named saved lists, blank-thumb placeholder, more presets

Billingv1.0.188

feat(billing): free tier = 3 teardowns/month + 45-min ceiling (was 30 min, count-blind)

Miscv1.0.187

chore(routing): 301 /app2 -> /app (collapse legacy preview alias)

Pipelinev1.0.186

chore(cron): cron_daily.py — single command for Railway (warm + watch-check)

Pipelinev1.0.185

chore(db): vid_watches migration (Discover watch+notify storage)

Miscv1.0.184

feat(discover): watch a brand → email alert on new ads

Miscv1.0.183

feat(discover): faster loads — instant leaderboard open + nightly pre-warm

Miscv1.0.182

feat(discover): industry presets, filters, and a leaderboard

Fixv1.0.181

feat(discover): playable ads + saved swipe-file + clearer search prompt

Miscv1.0.180

feat(discovery): robust query parsing + keyword-search fallback

Fixv1.0.179

fix(discovery): extract creative from carousel/DPA cards + extraVideos

Fixv1.0.178

fix(discover): fan out one request per competitor, render progressively

Miscv1.0.177

docs: DISCOVERY.md — discovery engine context + code map

Pipelinev1.0.176

feat(discover): Supabase persistence + cache + source-linking (production hardening)

Productv1.0.175

Marketing mobile-responsive: landing/pricing/fair-use phone-friendly

Fixv1.0.174

fix(discover): COPY discovery.py into the Docker image (was missing)

Miscv1.0.173

app2: mobile-responsive (now production /app)

Fixv1.0.172

fix(discover): surface config errors as 422 (Cloudflare masks 5xx bodies)

Miscv1.0.171

Swap revamped app into production: /app now serves app2 (old → /app-legacy)

Miscv1.0.170

feat(discover): competitor ad discovery → analyze, wired into app2

Productv1.0.169

analysis: de-slop — ground overview in transcript, reconcile hook + scene counts

Productv1.0.168

app2: Cast→Cast & World, reorder tabs, script download, summary show-more

Productv1.0.167

app2 Script-tab glow-up + real Music stem (merge drums+bass)

Productv1.0.166

app2: cinematic content deck — blueprint donut + camera meters + frame wall

Productv1.0.165

analysis: sharpen technique recreate-description prompt (less generic/sloppy)

Productv1.0.164

app2: add tooltip explaining Magic Brush (draw a box → adds missed cast)

Productv1.0.163

Landing: pair gold+purple as a duo + add grain/halftone texture

Fixv1.0.162

app2: rename Teardown→Analysis, sharper non-purple look, clean drag-drop, fix deep clusters + undefined .btn-pri

Miscv1.0.161

app2: level up inner content cards to the Cockpit aesthetic

Fixv1.0.160

app2: fix nav escaping to /app (Account/logo now stay in /app2)

Miscv1.0.159

Revamped app (Cockpit + telemetry + Bobby) at /app2 (preview)

Pipelinev1.0.158

Direct-to-R2 upload — handle any file size past Cloudflare's 100MB cap

Fixv1.0.157

App: guard >95MB uploads with a clear message (Cloudflare 100MB cap)

Pipelinev1.0.156

App: use universal homepage logo + hide DB/R2/AI badges

Billingv1.0.155

Pricing: drop "half price" framing; Get Pro → /go/pro checkout route

Productv1.0.154

Rename /examples → /teardowns (canonical), 301 old URLs

Productv1.0.153

Add favicon to remaining pages (app, signup, faq, about, account)

Miscv1.0.152

Unify site nav + add favicon + OG meta across all pages

Miscv1.0.151

Flip new design live (migration Phase 3)

Billingv1.0.150

Fair-use enforcement + policy page; prepare $11.99 Stripe wiring

Fixv1.0.149

Allowlist /v2 + /pricing-v2 past the site-auth gate (Phase 1 fix)

Productv1.0.148

Ship new landing + pricing dark at /v2 (migration Phase 1)

Fixv1.0.147

app: greet by name + fix health badge colors

Miscv1.0.146

schema v3: comprehension layer — the MEANING pass (vision over the storyboard)

Pipelinev1.0.145

corpus: flat feature table — every analysis becomes queryable + trainable

Fixv1.0.144

fix(scorecard): None-slice crash on jobs where script_analysis.hook.text is null

Miscv1.0.143

schema v3: make classify-v3 backfill ASYNC (3 LLM calls timed out the gateway)

Miscv1.0.142

schema v3: add POST /api/job/{id}/classify-v3 backfill endpoint

Miscv1.0.141

schema v3: pass _job_id into result (vidgentic _source.job_id) + mark backend shipped

Miscv1.0.140

schema v3 (backend): format classification + format-aware scorecard + Vidgentic projection

Productv1.0.139

examples: drop account 'Templates' library — examples are marketing, not a free shelf

Miscv1.0.138

examples: add the 3 missing lead-magnet PDFs + shrink kids

Miscv1.0.137

examples: simplify unlock to email-first lead magnet + JSON/PDF downloads

Productv1.0.136

examples: reframe as 'any video, your playbook' + InteriorAI-style spec cards

Fixv1.0.135

fix: wordmark invisible on frosted dark nav (was color:ink → black-on-black)

Fixv1.0.134

fix(auth): land the no_account logic in the REAL handle_signup (admin.py)

Fixv1.0.133

fix(auth): the REAL login bug — duplicate _get_user_by_email shadowed lookups

Productv1.0.132

auth: clear 'no account yet' on sign-in + login-gate full example access

Productv1.0.131

account: add Templates tab loader (was dropped twice by failed edits)

Fixv1.0.130

fix: template gate was half-shipped (NameError 502 + missing route/tab)

Miscv1.0.129

design: apply 'Refined Depth' B2B-SaaS skin to the app shell

Billingv1.0.128

chore: nudge Railway redeploy (templates hardening 22d7ee5 didn't promote)

Miscv1.0.127

templates: public slug-allowlisted export so the gated download actually works

Pipelinev1.0.126

templates: gated 'get this analysis' download on example pages

Fixv1.0.125

header: declutter top-right → avatar dropdown + owner-only health badges

Productv1.0.124

account: optional profile (name / persona / goal)

Adminv1.0.123

dashboard: avatar + usage meter + stats strip + search + sort

Fixv1.0.122

fix: AI status badge read wrong health field (d.gemini → d.gemini_audio)

Miscv1.0.121

docs: flag SITE_TOKEN as critical env var in smoke test

Miscv1.0.120

docs: videngineer value prop + audit findings (2026-05-30)

Miscv1.0.119

examples: ship 6 curated analyses across video types

Miscv1.0.118

launch: 'Copy for your LLM' button + smoke test + webhook verified

Billingv1.0.117

docs: read-access & distribution plan (export now / share-link / connector later)

Miscv1.0.116

launch: shelve API as 'Coming soon' + simplify pricing to 2 tiers

Miscv1.0.115

security: gate DELETE /api/job/{id} — was unauthenticated

Miscv1.0.114

Security: scope agent API per-user + kill frontend owner-token leak

Productv1.0.113

Correct routing in copy doc: / = landing.html (marketing), /app = index.html (app), /pricing = pricing.html. None are legacy.

Fixv1.0.112

Fix copy-doc file targets: live site is index.html; landing/pricing.html are legacy

Productv1.0.111

Dockerfile: ship AGENT_PUBLIC.md + mcp/ (public /agent was 500ing)

Billingv1.0.110

docs: save CREATE/Studio vision (deferred feature plan)

Productv1.0.109

Account page + self-serve API key management

Miscv1.0.108

Add UX stack + copy working doc (marketing + product)

Productv1.0.107

Add handoff doc: Account page (front-end) + API-key self-service (back-end)

Adminv1.0.106

Maintenance toggle via Directus + per-user API keys + API works through maintenance

Fixv1.0.105

ops: /health reports container resources (cgroup RAM/CPU/disk) for capacity planning

Fixv1.0.104

agent: MCP connector + obfuscate /agent + fix Bearer auth + ungate

Fixv1.0.103

Fix stems: Cloudflare 403/1010 blocked Python-urllib UA on Replicate

Fixv1.0.102

Surface stem-extraction errors on the job (was silent)

Productv1.0.101

ux: stale/expired magic link → /signup (fresh-link prompt), not the dead 'access required' page

Fixv1.0.100

Fix re-extract: it did nothing (two /reanalyze handlers collided)

Miscv1.0.99

Better empty state for new free users + audit confirmations

Billingv1.0.98

Remove SOON tabs + density-weighted (frame-interval) billing

Miscv1.0.97

perf+security: ThreadingHTTPServer + async download + concurrency cap + drop credential defaults

Miscv1.0.96

URL handoff: prefill but don't auto-fire (let user review/change)

Fixv1.0.95

fix: /api/signup never downgrades an existing user's tier

Adminv1.0.94

gitignore SHIP_IT_CARD.md (contains admin password)

Miscv1.0.93

docs: PRICING_PLANS_CONTEXT as-built — vid_plans wiring is live + minute-based

Adminv1.0.92

pricing: make the LIVE gate DB-driven via vid_plans (editable in Directus)

Miscv1.0.91

Free tier = core breakdown only; deep analyses are paid

Adminv1.0.90

admin: migrate to single admin — redirect /admin → admin.videngineer.com (Directus)

Adminv1.0.89

Admin cost view + minute-based pricing copy

Miscv1.0.88

Minute-based pricing + real per-job cost estimation

Productv1.0.87

Accounts-only access — kill demo bypass, scope projects per-user

Miscv1.0.86

nav: unify the menu across every page

Miscv1.0.85

App login: lead with email magic-link, demo demoted to fallback

Miscv1.0.84

Clean URLs: 301 .html → extensionless + clean all internal links

Fixv1.0.83

Admin stage-health tracker — per-job, per-stage status grid

Fixv1.0.82

Graceful degradation: transcription failures no longer show raw error

Miscv1.0.81

Add download/export buttons to all remaining tabs

Pipelinev1.0.80

docs: fresh Gemini build context — current positioning + copy source of truth

Fixv1.0.79

Fix: Script tab hook gauge no longer shows false 0/10

Productv1.0.78

auth: unauthenticated /app (+ gated UI) redirects to /signup, not a dead locked page

Fixv1.0.77

landing+about: broaden ICP, fix CTA verb, ship sample-analysis lead magnet

Fixv1.0.76

admin: fix /admin (no trailing slash) 404 + gate /app projects per-account

Productv1.0.75

SEO polish: full sitemap (10 URLs) + landing JSON-LD + (DMARC added via CF API)

Fixv1.0.74

vid_analyses: flip status complete/error on pipeline finish

Fixv1.0.73

Transcription: surface Google's real error body, not bare '403 Forbidden'

Billingv1.0.72

Credit-pack quota enforcement — per-user sessions + hard block

Miscv1.0.71

Launch-ready pages · /faq /about /pricing /examples + atomic example page

Adminv1.0.70

Dockerfile · COPY admin.py + admin/ + blog/ + gating.py into container

Adminv1.0.69

User accounts · self-serve signup + per-user magic links + Mark's admin seed

Billingv1.0.68

Launch sprint · admin + Stripe webhook + accounts + blog + landing surgery

Miscv1.0.67

Hero form: accept URL or email — auto-detect

Miscv1.0.66

Maintenance bypass for magic-link holders

Productv1.0.65

Pre-launch: gate /agent + scrub API surface from public landing

Productv1.0.64

Launch-day Shape A — public landing + waitlist + pricing + OG + SEO

Adminv1.0.63

docs: PRODUCTION_HANDOFF for coding agent · accounts + admin + auth

Miscv1.0.62

docs: marketing context + napkin for videngineer launch handoff

Miscv1.0.61

checkpoint: apply jamlist 14-step playbook to videngineer launch

Miscv1.0.60

Videngineer manifesto + positioning vs Algrow / Vidgentic / NoteGPT

Productv1.0.59

Transcribe — Gemini Files API for audio > 20 MB (unblocks long podcasts)

Productv1.0.58

Script tab — real timestamps, VO moved here, GPT design brief added

Miscv1.0.57

Voice Clone Kit + ROI tab redesign — solid layout, less spam

Productv1.0.56

Script tab → Protocol Clerk · 7-element skeleton + structure DB + Bend-it

Fixv1.0.55

Fix scenes.zip — set User-Agent so R2 edge stops 403'ing the bundler

Pipelinev1.0.54

Unassemble: R2 persistent + inline preview + source-video sheet + zip-on-demand

Miscv1.0.53

Unassemble → zip download, shorts ≤90s only

Fixv1.0.52

Snippet contract fix + Unassemble Video → raw scene MP4s

Fixv1.0.51

Dashboard fixes — auto-analyze, snippet button, honest scene labels

Billingv1.0.50

Magic-link auth + ship /launch_plan to videngineer prod

Miscv1.0.49

Site-wide Basic Auth — gate marketing/UI surface from competitor snooping

Billingv1.0.48

Sitemap plan for Next.js rewrite + cut list for the current landing

Productv1.0.47

Landing rebuild — JH Flying Money showcase + 46-technique recreation matrix

Miscv1.0.46

Aubergine pass 2 — white body, textures, ornaments, beefier buttons

Miscv1.0.45

Merge B · Aubergine dark theme — deep plum bg, mint+lilac accents

Productv1.0.44

Soon pills on Table/Channels + reanalyze frame interval + dark theme wireframes

Billingv1.0.43

Add Vidgentic-parity refactor plan + Sprint 1 schema migration

Miscv1.0.42

Refine brand: book-style projects + bolder titles + branded /agent docs

Miscv1.0.41

Refactor UI to Distributoor brand DNA — paper bg + thick black borders + halftone + pop shadows + Space Grotesk

Productv1.0.40

Add public landing page + visual refresh (deep aubergine + grain + serif)

Miscv1.0.39

Add IG_COOKIES_B64 env var support for Railway-friendly single-line paste

Pipelinev1.0.38

Add /api/job/{id}/clip — save sub-clips of source video to R2

Fixv1.0.37

Surface cookie env presence on /health + bump yt-dlp

Pipelinev1.0.36

Add IG_COOKIES support for Instagram ingest

Fixv1.0.35

Fix IG/TikTok ingest + cryptic max_workers=0 crash

Miscv1.0.34

Align /agent docs with per-tool convention

Miscv1.0.33

Add public /docs route serving agent manual

Fixv1.0.32

fix(retranscribe): send User-Agent on R2 audio download

Fixv1.0.31

fix(transcribe): bump token budget + robust error handling + retranscribe endpoint

Pipelinev1.0.30

feat(frontend): fireworks + browser notification when analysis job completes

Miscv1.0.29

sfx: right-size budget — 25 scenes × 60K output tokens

Productv1.0.28

llm: swallow _fix_json raise in audio path + log finishReason/preview

Productv1.0.27

llm: hard timeout via ThreadPoolExecutor around Gemini audio call

Miscv1.0.26

sfx: bump max_tokens 8K→32K to fit all per_scene rows

Pipelinev1.0.25

chore: force redeploy to clear stuck SFX thread

Productv1.0.24

Sprint E1.1: async SFX/stems/clips endpoints + Replicate token wiring

Miscv1.0.23

Sprint D.1: dedicated slice endpoints for agent consumption

Miscv1.0.22

Sprint E1: onset-detected SFX clip gallery (free, FFmpeg-only)

Pipelinev1.0.21

Sprint D: agent download endpoints + rework SFX analysis to assembly order

Productv1.0.20

Sprint C: Audio tab UI — SFX catalog + stem separation panels

Productv1.0.19

Sprint B: Demucs stem separation via Replicate (analysis/stems.py)

Pipelinev1.0.18

Sprint A: SFX + music event catalog (analysis/sfx.py)

Miscv1.0.17

yt-dlp: accept Webshare raw format in YT_PROXY (ip:port:user:pass)

Miscv1.0.16

yt-dlp: rotate across YT_PROXY list on bot-flag

Miscv1.0.15

Add YT_PROXY (Webshare residential) + YT_COOKIES support to yt-dlp

Pipelinev1.0.14

Refactor: unified LLM fallback chain + declarative pipeline stages

Miscv1.0.13

Remove app.py monolith (dead code, fully replaced by modular files)

Miscv1.0.12

Add comprehensive handoff document for videngineer tool

Fixv1.0.11

Add entity analysis to pipeline, character mini gallery, fix Cast loading

Fixv1.0.10

Add thumbnail analysis, ROI/niche analysis, character zip, fix auth & clustering

Fixv1.0.9

Fix kids analysis JSON parsing — use _fix_json instead of raw json.loads

Miscv1.0.8

Add YouTube bot-detection workarounds to yt-dlp

Miscv1.0.7

Add --remote-components flag to yt-dlp for YouTube JS challenge solving

Fixv1.0.6

Fix deno installation in Dockerfile — use direct binary download

Fixv1.0.5

Refactor monolith into modules, fix critical bugs, add kids niche analysis

Pipelinev1.0.4

Initial commit: video-reverse-engineer standalone repo (extracted from maragakis-video-pipeline)

RecentlyRelease date pending
Productv1.0.612

Cleaner teardown web addresses — category in every link

Productv1.0.611

Isolate any subject — transparent PNGs from Cast & World

Billingv1.0.610

Power plan open to everyone + credit packs + batch drag-and-drop + speed presets

Miscv1.0.599

Honest prompts panel, clearer paths

Productv1.0.598

The teardown library loads in a blink and puts the good stuff first

Miscv1.0.597

Cards you can read at a glance

Productv1.0.596

Real performance numbers on your analyses, and 58 fresh teardowns in the library

Miscv1.0.595

Filter your library by format and source

Miscv1.0.594

Speed: the app now loads its data in a fraction of the time

Billingv1.0.593

The sidebar era: new navigation, a real asset library with folders, richer search and filters, your full teardown catalog, and account & billing controls

Productv1.0.543

Low-quality source now shows a pill + tooltip

Productv1.0.542

Low-quality source? We now guide you to a better link

Productv1.0.541

Ingest quality floor + potato teardowns pulled from gallery

Productv1.0.540

Crisp previews + 4K in the lightbox

Fixv1.0.539

Fix: 4K masters can no longer be wiped by background jobs

Productv1.0.538

Reference frames go premium — 4K on every angle

Productv1.0.537

Crisp ingest restored + quality labels everywhere

Fixv1.0.536

Agent API can trigger re-analyses

Adminv1.0.535

HQ now watches the bills — fixed infra cost card

Productv1.0.534

Downloads now say 4K on the button

Productv1.0.533

Honest source labels — see exactly what quality you have

Productv1.0.532

★ Library: flip through your saves + every card gets a thumbnail

Productv1.0.531

🎞️ 4K Masters — every download can now be maximum quality