Skip to content

docs(assets): optimize demo GIF (8.9MB → 3.3MB) + add 1280×640 social preview#53

Merged
hoainho merged 1 commit into
mainfrom
docs/optimize-demo-assets
Jun 2, 2026
Merged

docs(assets): optimize demo GIF (8.9MB → 3.3MB) + add 1280×640 social preview#53
hoainho merged 1 commit into
mainfrom
docs/optimize-demo-assets

Conversation

@hoainho
Copy link
Copy Markdown
Owner

@hoainho hoainho commented Jun 2, 2026

What this changes

Closes 2 of the 3 critical conversion gaps from the star-growth audit. Pure binary asset commits, zero code touched.

Demo GIF re-encoded: 8.9 MB → 3.3 MB (-64%)

Why this matters: The original was timing out on GitHub markdown for slower connections and showing broken-image on mobile views. The GIF is the single biggest first-impression element above the fold — a broken or slow-loading hero kills star conversion.

Trade-off: 500×330 (was 900×594), 4 fps (was 12.5 fps), 64-color quantize with Floyd-Steinberg dithering. Motion is slightly choppier; panel UI text still readable. Total play time preserved (~23s).

Tooling note: ffmpeg/gifsicle were unavailable in the agent sandbox, so this was done via Python PIL with adaptive palette quantization. If you ever want to re-encode with a cleaner tool, the recommended ffmpeg command is:

ffmpeg -i react-ext-demo.gif -vf 'fps=10,scale=800:-1:flags=lanczos' -loop 0 react-ext-demo-opt.gif

Social preview image — new file at docs/images/social-preview-1280x640.png

Why this matters: Every share of the repo URL on Twitter/LinkedIn/Slack/HackerNews currently shows a generic GitHub card. Setting a branded preview image converts each unbranded impression into a branded one — measurable lift on click-through from social shares.

File spec: 1280×640 (GitHub's social preview canonical size, 2:1 ratio), 130 KB, generated from docs/images/preview.png (2382×1728) via center-crop to 2:1 + Lanczos downscale.

⚠️ Manual finishing step (cannot be automated):

GitHub's REST/GraphQL API does NOT expose social preview upload. You'll need to do this once via the UI:

  1. Go to https://github.com/hoainho/react-debugger-extension/settings
  2. Scroll to Social preview section
  3. Click Edit → drag-drop docs/images/social-preview-1280x640.png

Takes ~30 seconds. This is the LAST piece of Phase 1 conversion-killer fixes from the 30-day star-growth plan.

Net diff

2 files changed, 0 insertions, 0 deletions (binary assets only).

Risk

Zero — asset replacement + new asset only. CI will re-run but nothing logical changes.

… preview

Closes 2 of the 3 critical conversion gaps from the star-growth audit:

## Demo GIF re-encoded — 8.9 MB → 3.3 MB (-64%)

Original: 900x594, 289 frames @ 12.5 fps, 8.9 MB. GitHub markdown timed out
loading on slower connections, and mobile views often showed a broken image.

Re-encoded: 500x330, 97 frames @ ~4 fps with FloydSteinberg dithering + 64-color
adaptive palette. Total play time preserved (~23s). Panel UI still readable;
motion slightly choppier but the trade-off is worth the 64% size reduction
since the GIF is the single biggest first-impression conversion element.

Tooling note: ffmpeg/gifsicle unavailable in agent sandbox, used Python PIL
with quantize(colors=64, dither=FLOYDSTEINBERG) workaround. If a future
re-encode uses ffmpeg, the recommended command is:

  ffmpeg -i react-ext-demo.gif -vf 'fps=10,scale=800:-1:flags=lanczos'     -loop 0 react-ext-demo-opt.gif

## Social preview image — 1280x640 (GitHub spec)

New file: docs/images/social-preview-1280x640.png (130 KB).

Generated from docs/images/preview.png (2382x1728, 1.38:1) by center-cropping
to 2:1 aspect ratio then resizing to 1280x640 with Lanczos resampling.

This file is READY for the maintainer to upload via
Settings → Social preview → 'Edit' → drag-drop. GitHub's REST/GraphQL API
does not expose social preview upload, so this final step is unavoidably
manual but takes ~30 seconds.

Currently every share of the repo URL on Twitter/LinkedIn/Slack shows the
generic GitHub social card. Setting this image converts an unbranded
impression into a branded one.

## Impact

Closes audit GAP 1 (demo GIF too large) and prepares GAP 3 (social preview
missing) for a 30-second manual finish. Combined with the README polish
shipped in PR #52, this finalizes Phase 1 of the 30-day star-growth plan
documented in .sisyphus/growth/30-day-star-plan.md.
@gemini-code-assist
Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@hoainho hoainho merged commit 1b3674f into main Jun 2, 2026
2 checks passed
@hoainho hoainho deleted the docs/optimize-demo-assets branch June 2, 2026 02:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant