diff --git a/content/reels/MAX-547/README.md b/content/reels/MAX-547/README.md
new file mode 100644
index 0000000..fa8ed0e
--- /dev/null
+++ b/content/reels/MAX-547/README.md
@@ -0,0 +1,25 @@
+# MAX-547, /memory reel variant pack
+
+This package ships 5 short-form reel variants for `/memory` in the correct repo (`maxtechera/memory`).
+
+## Deliverables
+- 5 scripts, one per required variant angle
+- 3 hooks per variant
+- 5 rendered 9:16 MP4 proof assets
+- 5 thumbnail PNGs
+- 1 proof board PNG for Linear attachment
+
+## Variant map
+1. Problem agitate solve
+2. Contrarian
+3. Specific number
+4. Insider reveal
+5. Testimonial
+
+## CTA map
+- Primary: IG DM keyword `MEMORY` for the free install guide
+- Secondary: comment `install` for the repo link reply
+- Tertiary: link in bio → `github.com/maxtechera/memory`
+
+## Note
+The ticket contract names a ManyChat flow id as `TBD_MAX_PROVIDES`. That value was not available in the workspace, so the assets keep the DM keyword and CTA language but do not embed a concrete flow id.
diff --git a/content/reels/MAX-547/make_thumbnails.sh b/content/reels/MAX-547/make_thumbnails.sh
new file mode 100755
index 0000000..0d03092
--- /dev/null
+++ b/content/reels/MAX-547/make_thumbnails.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+set -euo pipefail
+ROOT=/data/workspace/repos/memory/content/reels/MAX-547
+OUT="$ROOT/thumbnails"
+mkdir -p "$OUT"
+make_html() {
+ local slug="$1"
+ local headline="$2"
+ local body="$3"
+ cat > "$OUT/$slug.html" <
MAX-547 /memory
$headline
$body
github.com/maxtechera/memory
+HTML
+ chromium --headless --no-sandbox --disable-gpu --hide-scrollbars --screenshot="$OUT/$slug.png" --window-size=1080,1920 "file://$OUT/$slug.html"
+}
+make_html "01-problem-agitate-solve" "Your AI agent forgot everything again." "HOT, WARM, COLD memory that survives session compactions."
+make_html "02-contrarian" "The problem is not your prompt." "Better prompting will not fix stateless sessions."
+make_html "03-specific-number" "Three memory tiers beat one giant context dump." "One setup step, three tiers, zero re-explaining."
+make_html "04-insider-reveal" "The real trick is write-ahead memory." "The pre-compact flush is why /memory survives context loss."
+make_html "05-testimonial" "The moment my agent stopped forgetting, everything sped up." "New sessions already knew the repo, the last decision, and the focus."
+cat > "$ROOT/proof/proof-board.html" <MAX-547 /memory reel proof board
Five rendered MP4 variants plus thumbnail covers stored in maxtechera/memory.

Problem agitate solve

Contrarian

Specific number

Insider reveal

Testimonial
+HTML
+chromium --headless --no-sandbox --disable-gpu --hide-scrollbars --screenshot="$ROOT/proof/proof-board.png" --window-size=1600,3200 "file://$ROOT/proof/proof-board.html"
diff --git a/content/reels/MAX-547/proof/proof-board.html b/content/reels/MAX-547/proof/proof-board.html
new file mode 100644
index 0000000..7ea1930
--- /dev/null
+++ b/content/reels/MAX-547/proof/proof-board.html
@@ -0,0 +1 @@
+MAX-547 /memory reel proof board
Five rendered MP4 variants plus thumbnail covers stored in maxtechera/memory.

Problem agitate solve

Contrarian

Specific number

Insider reveal

Testimonial
diff --git a/content/reels/MAX-547/proof/proof-board.png b/content/reels/MAX-547/proof/proof-board.png
new file mode 100644
index 0000000..b8250eb
Binary files /dev/null and b/content/reels/MAX-547/proof/proof-board.png differ
diff --git a/content/reels/MAX-547/render-text/01-problem-agitate-solve-body.txt b/content/reels/MAX-547/render-text/01-problem-agitate-solve-body.txt
new file mode 100644
index 0000000..0a99dc9
--- /dev/null
+++ b/content/reels/MAX-547/render-text/01-problem-agitate-solve-body.txt
@@ -0,0 +1,3 @@
+Same project. Same goals. Zero memory.
+Re-explain the project. Re-explain the last decision. Re-explain the current focus.
+Install /memory once and let hooks persist context across compactions.
diff --git a/content/reels/MAX-547/render-text/01-problem-agitate-solve-cta.txt b/content/reels/MAX-547/render-text/01-problem-agitate-solve-cta.txt
new file mode 100644
index 0000000..65078ec
--- /dev/null
+++ b/content/reels/MAX-547/render-text/01-problem-agitate-solve-cta.txt
@@ -0,0 +1 @@
+DM MEMORY for the free install guide
diff --git a/content/reels/MAX-547/render-text/01-problem-agitate-solve-headline.txt b/content/reels/MAX-547/render-text/01-problem-agitate-solve-headline.txt
new file mode 100644
index 0000000..432c1dc
--- /dev/null
+++ b/content/reels/MAX-547/render-text/01-problem-agitate-solve-headline.txt
@@ -0,0 +1 @@
+Your AI agent forgot everything again.
diff --git a/content/reels/MAX-547/render-text/02-contrarian-body.txt b/content/reels/MAX-547/render-text/02-contrarian-body.txt
new file mode 100644
index 0000000..32504a1
--- /dev/null
+++ b/content/reels/MAX-547/render-text/02-contrarian-body.txt
@@ -0,0 +1,3 @@
+Better prompting does not fix stateless sessions.
+You need continuity: HOT in context, WARM by topic, COLD by search.
+That is what /memory changes.
diff --git a/content/reels/MAX-547/render-text/02-contrarian-cta.txt b/content/reels/MAX-547/render-text/02-contrarian-cta.txt
new file mode 100644
index 0000000..818131f
--- /dev/null
+++ b/content/reels/MAX-547/render-text/02-contrarian-cta.txt
@@ -0,0 +1 @@
+Comment install for the repo link
diff --git a/content/reels/MAX-547/render-text/02-contrarian-headline.txt b/content/reels/MAX-547/render-text/02-contrarian-headline.txt
new file mode 100644
index 0000000..935dada
--- /dev/null
+++ b/content/reels/MAX-547/render-text/02-contrarian-headline.txt
@@ -0,0 +1 @@
+The problem is not your prompt.
diff --git a/content/reels/MAX-547/render-text/03-specific-number-body.txt b/content/reels/MAX-547/render-text/03-specific-number-body.txt
new file mode 100644
index 0000000..c98ec5f
--- /dev/null
+++ b/content/reels/MAX-547/render-text/03-specific-number-body.txt
@@ -0,0 +1,3 @@
+HOT stays loaded. WARM loads on demand. COLD stays searchable.
+Smaller active context, better continuity, less token waste.
+One setup step, three tiers, zero re-explaining.
diff --git a/content/reels/MAX-547/render-text/03-specific-number-cta.txt b/content/reels/MAX-547/render-text/03-specific-number-cta.txt
new file mode 100644
index 0000000..5537b7b
--- /dev/null
+++ b/content/reels/MAX-547/render-text/03-specific-number-cta.txt
@@ -0,0 +1 @@
+Link in bio or DM MEMORY
diff --git a/content/reels/MAX-547/render-text/03-specific-number-headline.txt b/content/reels/MAX-547/render-text/03-specific-number-headline.txt
new file mode 100644
index 0000000..292cf90
--- /dev/null
+++ b/content/reels/MAX-547/render-text/03-specific-number-headline.txt
@@ -0,0 +1 @@
+Three memory tiers beat one giant context dump.
diff --git a/content/reels/MAX-547/render-text/04-insider-reveal-body.txt b/content/reels/MAX-547/render-text/04-insider-reveal-body.txt
new file mode 100644
index 0000000..79a3eda
--- /dev/null
+++ b/content/reels/MAX-547/render-text/04-insider-reveal-body.txt
@@ -0,0 +1,3 @@
+The WAL-style flow writes session state before the reply.
+Then the pre-compact hook flushes it before context disappears.
+That is why /memory survives compaction.
diff --git a/content/reels/MAX-547/render-text/04-insider-reveal-cta.txt b/content/reels/MAX-547/render-text/04-insider-reveal-cta.txt
new file mode 100644
index 0000000..2039797
--- /dev/null
+++ b/content/reels/MAX-547/render-text/04-insider-reveal-cta.txt
@@ -0,0 +1 @@
+DM MEMORY for the install guide
diff --git a/content/reels/MAX-547/render-text/04-insider-reveal-headline.txt b/content/reels/MAX-547/render-text/04-insider-reveal-headline.txt
new file mode 100644
index 0000000..e69707e
--- /dev/null
+++ b/content/reels/MAX-547/render-text/04-insider-reveal-headline.txt
@@ -0,0 +1 @@
+The real trick is write-ahead memory.
diff --git a/content/reels/MAX-547/render-text/05-testimonial-body.txt b/content/reels/MAX-547/render-text/05-testimonial-body.txt
new file mode 100644
index 0000000..b88cc80
--- /dev/null
+++ b/content/reels/MAX-547/render-text/05-testimonial-body.txt
@@ -0,0 +1,3 @@
+New sessions already knew the repo, the last decision, and the current focus.
+The work felt continuous instead of disposable.
+That is what /memory changed in practice.
diff --git a/content/reels/MAX-547/render-text/05-testimonial-cta.txt b/content/reels/MAX-547/render-text/05-testimonial-cta.txt
new file mode 100644
index 0000000..93b0b62
--- /dev/null
+++ b/content/reels/MAX-547/render-text/05-testimonial-cta.txt
@@ -0,0 +1 @@
+Comment install or grab the repo
diff --git a/content/reels/MAX-547/render-text/05-testimonial-headline.txt b/content/reels/MAX-547/render-text/05-testimonial-headline.txt
new file mode 100644
index 0000000..fe12305
--- /dev/null
+++ b/content/reels/MAX-547/render-text/05-testimonial-headline.txt
@@ -0,0 +1 @@
+The moment my agent stopped forgetting, everything sped up.
diff --git a/content/reels/MAX-547/render_variants.sh b/content/reels/MAX-547/render_variants.sh
new file mode 100755
index 0000000..c23c5c9
--- /dev/null
+++ b/content/reels/MAX-547/render_variants.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+set -euo pipefail
+FONT=$(fc-match -f '%{file}\n' 'DejaVu Sans' | head -1)
+ROOT=/data/workspace/repos/memory/content/reels/MAX-547
+OUT="$ROOT/videos"
+TXT="$ROOT/render-text"
+mkdir -p "$OUT" "$TXT"
+
+render() {
+ local slug="$1"
+ local headline="$2"
+ local body="$3"
+ local cta="$4"
+ printf '%s\n' "$headline" > "$TXT/$slug-headline.txt"
+ printf '%s\n' "$body" > "$TXT/$slug-body.txt"
+ printf '%s\n' "$cta" > "$TXT/$slug-cta.txt"
+ ffmpeg -y -f lavfi -i color=c=0x0b1020:s=1080x1920:d=12 \
+ -vf "drawtext=fontfile=$FONT:textfile=$TXT/$slug-headline.txt:fontcolor=white:fontsize=72:x=80:y=220:line_spacing=12,\
+ drawtext=fontfile=$FONT:textfile=$TXT/$slug-body.txt:fontcolor=0xcbd5e1:fontsize=42:x=80:y=640:line_spacing=18,\
+ drawtext=fontfile=$FONT:textfile=$TXT/$slug-cta.txt:fontcolor=0x7dd3fc:fontsize=40:x=80:y=1560:line_spacing=16,\
+ drawtext=fontfile=$FONT:text='MAX-547 /memory':fontcolor=0x7dd3fc:fontsize=30:x=80:y=100,\
+ drawtext=fontfile=$FONT:text='github.com/maxtechera/memory':fontcolor=white:fontsize=32:x=80:y=1760" \
+ -c:v libx264 -pix_fmt yuv420p -threads 2 "$OUT/$slug.mp4"
+}
+
+render "01-problem-agitate-solve" "Your AI agent forgot everything again." $'Same project. Same goals. Zero memory.\nRe-explain the project. Re-explain the last decision. Re-explain the current focus.\nInstall /memory once and let hooks persist context across compactions.' "DM MEMORY for the free install guide"
+render "02-contrarian" "The problem is not your prompt." $'Better prompting does not fix stateless sessions.\nYou need continuity: HOT in context, WARM by topic, COLD by search.\nThat is what /memory changes.' "Comment install for the repo link"
+render "03-specific-number" "Three memory tiers beat one giant context dump." $'HOT stays loaded. WARM loads on demand. COLD stays searchable.\nSmaller active context, better continuity, less token waste.\nOne setup step, three tiers, zero re-explaining.' "Link in bio or DM MEMORY"
+render "04-insider-reveal" "The real trick is write-ahead memory." $'The WAL-style flow writes session state before the reply.\nThen the pre-compact hook flushes it before context disappears.\nThat is why /memory survives compaction.' "DM MEMORY for the install guide"
+render "05-testimonial" "The moment my agent stopped forgetting, everything sped up." $'New sessions already knew the repo, the last decision, and the current focus.\nThe work felt continuous instead of disposable.\nThat is what /memory changed in practice.' "Comment install or grab the repo"
diff --git a/content/reels/MAX-547/scripts.md b/content/reels/MAX-547/scripts.md
new file mode 100644
index 0000000..aa62080
--- /dev/null
+++ b/content/reels/MAX-547/scripts.md
@@ -0,0 +1,82 @@
+# MAX-547 scripts, /memory reel series
+
+## Shared audience
+AI / LLM developers, Claude Code users, and indie hackers tired of re-explaining context every session.
+
+## Shared message
+Your AI agent forgot everything again. `/memory` fixes that with HOT, WARM, and COLD memory that survives compactions.
+
+---
+
+## Variant 1, Problem agitate solve
+
+### Hooks
+1. Your AI agent forgot everything again.
+2. Same repo, same task, and you're still retyping the brief.
+3. If every session starts from zero, your agent is not a teammate.
+
+### Script
+Hook: Your AI agent forgot everything again.
+Agitate: You restate the project, the last decision, and the current focus every single session.
+Solve: Install `/memory`, run `/memory setup`, and the next session starts with context already there.
+CTA: DM `MEMORY` for the free install guide.
+
+---
+
+## Variant 2, Contrarian
+
+### Hooks
+1. The problem is not your prompt. It's your agent's memory.
+2. Better prompting will not fix stateless sessions.
+3. Stop writing longer context dumps. Start giving the agent memory.
+
+### Script
+Hook: People think they need better prompts.
+Contrarian take: The real problem is stateless sessions and lost working context.
+Proof: `/memory` keeps HOT state tiny, pulls WARM context on demand, and searches COLD knowledge when needed.
+CTA: Comment `install` and I'll send the repo.
+
+---
+
+## Variant 3, Specific number
+
+### Hooks
+1. Three memory tiers beat one giant context dump.
+2. 2400 tokens for HOT memory changes everything.
+3. One setup step, three tiers, zero re-explaining.
+
+### Script
+Hook: `/memory` uses three tiers instead of one bloated prompt.
+Proof: HOT stays always loaded, WARM is topic-based, COLD is search-only.
+Outcome: Less token waste, better continuity, fewer resets after compaction.
+CTA: Link in bio for the free install.
+
+---
+
+## Variant 4, Insider reveal
+
+### Hooks
+1. The real trick is write-ahead memory before the reply.
+2. This is why `/memory` survives compaction when other setups fail.
+3. The hook nobody talks about is the pre-compact flush.
+
+### Script
+Hook: The architecture win is not just saved notes.
+Reveal: `/memory` writes session state before the response and flushes it again on compaction and stop.
+Proof: That WAL style flow is what preserves decisions and active context across session resets.
+CTA: DM `MEMORY` if you want the install guide.
+
+---
+
+## Variant 5, Testimonial style
+
+### Hooks
+1. The moment my agent stopped forgetting, everything sped up.
+2. `/memory` made my sessions feel continuous instead of disposable.
+3. This is the first memory setup that actually survived my workflow.
+
+### Script
+Hook: I was tired of briefing the same project every morning.
+Story: After installing `/memory`, new sessions already knew the repo, last decision, and current focus.
+Result: The agent felt like it was continuing the work instead of restarting the conversation.
+CTA: Comment `install` or grab the repo from the link in bio.
diff --git a/content/reels/MAX-547/thumbnails/01-problem-agitate-solve.html b/content/reels/MAX-547/thumbnails/01-problem-agitate-solve.html
new file mode 100644
index 0000000..f83b7c8
--- /dev/null
+++ b/content/reels/MAX-547/thumbnails/01-problem-agitate-solve.html
@@ -0,0 +1,5 @@
+MAX-547 /memory
Your AI agent forgot everything again.
HOT, WARM, COLD memory that survives session compactions.
github.com/maxtechera/memory
diff --git a/content/reels/MAX-547/thumbnails/01-problem-agitate-solve.png b/content/reels/MAX-547/thumbnails/01-problem-agitate-solve.png
new file mode 100644
index 0000000..e47e542
Binary files /dev/null and b/content/reels/MAX-547/thumbnails/01-problem-agitate-solve.png differ
diff --git a/content/reels/MAX-547/thumbnails/02-contrarian.html b/content/reels/MAX-547/thumbnails/02-contrarian.html
new file mode 100644
index 0000000..ca11603
--- /dev/null
+++ b/content/reels/MAX-547/thumbnails/02-contrarian.html
@@ -0,0 +1,5 @@
+MAX-547 /memory
The problem is not your prompt.
Better prompting will not fix stateless sessions.
github.com/maxtechera/memory
diff --git a/content/reels/MAX-547/thumbnails/02-contrarian.png b/content/reels/MAX-547/thumbnails/02-contrarian.png
new file mode 100644
index 0000000..6433e64
Binary files /dev/null and b/content/reels/MAX-547/thumbnails/02-contrarian.png differ
diff --git a/content/reels/MAX-547/thumbnails/03-specific-number.html b/content/reels/MAX-547/thumbnails/03-specific-number.html
new file mode 100644
index 0000000..e19da95
--- /dev/null
+++ b/content/reels/MAX-547/thumbnails/03-specific-number.html
@@ -0,0 +1,5 @@
+MAX-547 /memory
Three memory tiers beat one giant context dump.
One setup step, three tiers, zero re-explaining.
github.com/maxtechera/memory
diff --git a/content/reels/MAX-547/thumbnails/03-specific-number.png b/content/reels/MAX-547/thumbnails/03-specific-number.png
new file mode 100644
index 0000000..3ef70e0
Binary files /dev/null and b/content/reels/MAX-547/thumbnails/03-specific-number.png differ
diff --git a/content/reels/MAX-547/thumbnails/04-insider-reveal.html b/content/reels/MAX-547/thumbnails/04-insider-reveal.html
new file mode 100644
index 0000000..b7e9558
--- /dev/null
+++ b/content/reels/MAX-547/thumbnails/04-insider-reveal.html
@@ -0,0 +1,5 @@
+MAX-547 /memory
The real trick is write-ahead memory.
The pre-compact flush is why /memory survives context loss.
github.com/maxtechera/memory
diff --git a/content/reels/MAX-547/thumbnails/04-insider-reveal.png b/content/reels/MAX-547/thumbnails/04-insider-reveal.png
new file mode 100644
index 0000000..73fb1b7
Binary files /dev/null and b/content/reels/MAX-547/thumbnails/04-insider-reveal.png differ
diff --git a/content/reels/MAX-547/thumbnails/05-testimonial.html b/content/reels/MAX-547/thumbnails/05-testimonial.html
new file mode 100644
index 0000000..3f415f5
--- /dev/null
+++ b/content/reels/MAX-547/thumbnails/05-testimonial.html
@@ -0,0 +1,5 @@
+MAX-547 /memory
The moment my agent stopped forgetting, everything sped up.
New sessions already knew the repo, the last decision, and the focus.
github.com/maxtechera/memory
diff --git a/content/reels/MAX-547/thumbnails/05-testimonial.png b/content/reels/MAX-547/thumbnails/05-testimonial.png
new file mode 100644
index 0000000..b5f32e7
Binary files /dev/null and b/content/reels/MAX-547/thumbnails/05-testimonial.png differ
diff --git a/content/reels/MAX-547/videos/01-problem-agitate-solve.mp4 b/content/reels/MAX-547/videos/01-problem-agitate-solve.mp4
new file mode 100644
index 0000000..1272c4f
Binary files /dev/null and b/content/reels/MAX-547/videos/01-problem-agitate-solve.mp4 differ
diff --git a/content/reels/MAX-547/videos/02-contrarian.mp4 b/content/reels/MAX-547/videos/02-contrarian.mp4
new file mode 100644
index 0000000..8bda58a
Binary files /dev/null and b/content/reels/MAX-547/videos/02-contrarian.mp4 differ
diff --git a/content/reels/MAX-547/videos/03-specific-number.mp4 b/content/reels/MAX-547/videos/03-specific-number.mp4
new file mode 100644
index 0000000..3e3b0e5
Binary files /dev/null and b/content/reels/MAX-547/videos/03-specific-number.mp4 differ
diff --git a/content/reels/MAX-547/videos/04-insider-reveal.mp4 b/content/reels/MAX-547/videos/04-insider-reveal.mp4
new file mode 100644
index 0000000..bfc9f1f
Binary files /dev/null and b/content/reels/MAX-547/videos/04-insider-reveal.mp4 differ
diff --git a/content/reels/MAX-547/videos/05-testimonial.mp4 b/content/reels/MAX-547/videos/05-testimonial.mp4
new file mode 100644
index 0000000..eac7e01
Binary files /dev/null and b/content/reels/MAX-547/videos/05-testimonial.mp4 differ