Inspiration

Creators can see where an audience leaves, but still have to guess why. RetentionDNA turns that gap into a reviewable editing workflow: connect measured audience behavior to a concrete, source-bound next cut.

What it does

RetentionDNA accepts a draft video, a retention CSV or official YouTube Analytics JSON response, and an optional timestamped transcript. It infers—or lets the creator choose—the format, detects curve-relative dips and replays, labels the nearby moment (hook, setup, explanation, demonstration, payoff, transition, discussion, gameplay, or performance), and adapts recommendations for documentaries, tutorials, podcasts, Shorts, gaming, music, or general content.

For loss signals it proposes a bounded, format-aware test. For replay spikes it can promote a short teaser. Creators can inspect measured evidence, preview a non-destructive better cut, rate the recommendation, compare a later curve at the same timestamp, export a source-bound JSON edit plan, and render an MP4 with deterministic FFmpeg. Rejected advice makes that profile review-first on the current device.

The workspace opens with a real public ACAU video and 100 retention measurements from Uruguay's official open-data catalog. The strongest local loss is identified at 01:18 and the embedded video opens there. Missing transcript and scene evidence remain explicitly unavailable. A separate labeled synthetic fixture demonstrates timeline alignment and deterministic rendering; it does not claim universal accuracy.

How we built it

The browser workspace uses React 19, TypeScript, Tailwind CSS, and shadcn/ui. CSV and saved Analytics JSON parsing run locally. Robust curve statistics create an adaptive gate, deterministic rules infer content and moment roles, and a reducer keeps workflow states consistent. Device-local Creator DNA stores only project summaries and ratings—never videos or transcripts.

The local evidence engine uses Python, FFprobe, and FFmpeg. It detects silence and scene changes, reads transcript timing, validates source size/duration/SHA-256, rejects unknown actions or wrong sources, merges overlaps, and refuses plans removing more than 35% of a source.

Challenges and lessons

The core challenge was causality: a retention dip is observed behavior, not proof of its cause. Every signal separates measured evidence from inference, shows provenance and confidence, and keeps the recommendation reviewable. We learned that creator analytics become useful when attached to editable moments instead of presented as unexplained scores.

What's next

Next we would connect the tested YouTube Analytics adapter to OAuth, add automatic transcription and shot-quality features, and learn from more post-edit outcomes without sending creator media to a server.

Built with

React, TypeScript, Tailwind CSS, shadcn/ui, Python, FFmpeg, FFprobe, SVG, WebMCP.

Live demo: https://retentiondna.advikmjevoor.chatgpt.site Source: https://github.com/jozai193/retentiondna Demo MP4: https://github.com/jozai193/retentiondna/releases/download/v0.1.0-hackathon/retentiondna-demo.mp4

Built With

Share this project:

Updates

Submission history