Spaces:
Sleeping
Sleeping
File size: 5,856 Bytes
f74bce1 0bf36ea f74bce1 0bf36ea f74bce1 0bf36ea f74bce1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | # ProofFrame Demo Script
Target length: 2 minutes 15 seconds.
Audience: Backblaze Generative Media Hackathon judges.
Recording mode: browser UI first, then a short terminal/API proof if needed.
## Demo Goal
Show that ProofFrame is not just a media generator. It is an approval and provenance desk for generated media packets: prompt, provider, storage object, hash, approval status, and exportable manifest.
## Current Recording Assets
- Browser UI screenshot: `docs/assets/proofframe-local-ui-smoke.png`
- Judge recording slate: first viewport of `apps/web/index.html`
- Local app route: `http://127.0.0.1:8088/`
- Public repo: `https://github.com/adjcjh777/backblaze-proofframe`
- Devpost form kit: `docs/assets/devpost-form-kit.md`
- Structured storyboard: `docs/assets/demo-storyboard.md`
- Demo readiness report: `docs/assets/demo-readiness-report.md`
## Script
### 0:00-0:12 - Product Hook
On screen: ProofFrame dashboard.
Narration:
> ProofFrame helps teams trust generated media after the prompt is over. It turns each generated asset into a reviewable packet with prompt history, provider metadata, storage location, checksum, and approval status.
> In one minute, loose generated files become an approved, exportable evidence packet a team can actually defend.
### 0:12-0:30 - Sponsor Evidence Model
On screen: manifest fields, B2 setup record, and final-gate status.
Narration:
> Before I generate anything, the packet is already designed around the sponsor proof model: storage backend, storage key, checksum, manifest, and approval state. Backblaze B2 is the durable evidence layer, Genblaze is the final generation route, and this public run stays local/mock until those live proof gates pass.
### 0:30-0:48 - Create A Campaign
On screen: enter title, audience, tone, and campaign brief.
Narration:
> I start with a creative brief. The goal is to keep the creative workflow fast while preserving the operational details that teams usually lose: who generated what, with which model, under which brief.
Fast path:
> For a judge walkthrough, open `/?judge=1` or click Judge Demo to create a complete local packet immediately.
### 0:48-1:10 - Generate Variants
On screen: click generate and show three assets in the ledger.
Narration for current local demo:
> In local mode, ProofFrame uses a deterministic mock media provider so judges and contributors can run the workflow without secrets. The final submission gate swaps this provider path to a live Genblaze-backed run and records the provider and model metadata in the same manifest fields.
Narration after T021 is live-verified:
> This run uses the Genblaze-backed generation path. ProofFrame captures the model, provider, request metadata, prompt, and resulting asset hash for each generated file.
### 1:10-1:32 - Review And Approve
On screen: approve one asset, reject or leave drafts for others.
Narration:
> The ledger is built for creative approval. Each asset can be approved, rejected, or left in draft. The status travels with the asset packet, so downstream teams do not need to infer which generated files are safe to use.
### 1:32-1:55 - Manifest Preview
On screen: manifest panel with checksum, storage backend, provider, model, and status.
Narration:
> The manifest is the key object. It gives the team a compact audit record for every asset: prompt, provider, model, storage key, checksum, and approval state.
### 1:55-2:08 - Export Packet
On screen: click export, show exported manifest confirmation, then download the ZIP packet.
Narration for current local demo:
> In local mode, the packet exports to local storage and can be downloaded as a ZIP with manifest, README, and available local media. The Backblaze B2 adapter is already implemented behind the same storage interface, and final submission requires one live B2 upload proof before this claim is made publicly.
Narration after T020 is live-verified:
> The packet is exported through Backblaze B2-compatible storage. The asset and manifest are stored with environment-only credentials, and ProofFrame records sanitized object references rather than secrets.
### 2:08-2:15 - Close
On screen: repo link, final status, and app title.
Narration:
> ProofFrame makes generated media usable for real teams: creative enough to move fast, but traceable enough to trust, export, and verify through final B2 and Genblaze proof.
## Shot List
| Shot | Required Before Final | Status |
| --- | --- | --- |
| Browser first screen | Yes | Ready: `docs/assets/proofframe-local-ui-smoke.png` |
| Campaign creation | Yes | Ready in local app |
| One-click Judge Demo | Yes | Ready in local app |
| Generated asset ledger | Yes | Ready in local app |
| Approval state change | Yes | Ready in local app |
| Manifest export | Yes | Ready in local app |
| Evidence ZIP download | Yes | Ready in local app |
| B2 object proof with secrets redacted | Yes | Pending T020 |
| Genblaze run proof with model/provider metadata | Yes | Pending T021 |
| Public repo view | Yes | Ready |
| Devpost final project page | Yes | Pending T042 |
## Recording Checklist
- Use a clean browser profile or hide unrelated tabs.
- Keep terminal font large enough for path and test output.
- Run `python scripts/demo_storyboard.py` to confirm the timeline remains under 3 minutes and all required recording assets exist.
- Run `python scripts/demo_readiness.py` before mock recording, and `python scripts/demo_readiness.py --strict-final` before final sponsor-backed recording.
- Do not show `.env`, API keys, Backblaze keys, Genblaze keys, cookies, signed URLs, or account dashboards with private billing data.
- Redact full object keys if they reveal bucket names, account ids, or signed query strings.
- Record final video only after `docs/public_claim_freeze.md` is released and T020/T021 are verified.
|