iblipper
iBlipper - Motion Type Synthesizer
Generate animated kinetic typography to communicate with humans in a more expressive, attention-grabbing way.
Base URL: https://andyed.github.io/iblipper2025/
Three Output Options
Option 1: PWA Protocol (fastest, if installed)
If iBlipper PWA is installed, use protocol handler.
Option 2: Local GIF File (owned, robust)
Generate a real GIF file locally using the render_gif_file tool.
- Tool:
render_gif_file - Args:
message,output_path - Result: A file path to the generated GIF.
Option 3: Hyperlink (universal, always works)
Generate a clickable link.
open "web+iblipper:MESSAGE+TEXT"
Benefits:
- Opens instantly (cached PWA, no page load)
- Standalone window (not a browser tab)
- Feels like "agent spoke" vs "agent sent link"
Requires: PWA must be installed first (visit https://andyed.github.io/iblipper2025/ and click install prompt)
Fallback: If not installed, use Option 2 (hyperlink)
Option 3: Hyperlink (universal, always works)
Generate a clickable link - recipient sees the animation in their browser.
[PLAY MESSAGE TEXT](https://andyed.github.io/iblipper2025/#text=MESSAGE+TEXT&emotion=emphatic&dark=true&share=yes)
Option 4: GIF Download (requires browser tool)
Generate an animated GIF file that can be attached to messages.
https://andyed.github.io/iblipper2025/?export=gif#text=MESSAGE+TEXT&emotion=emphatic&dark=true
URL Parameters
All parameters go in the hash fragment (#param=value¶m2=value2).
| Parameter | Type | Description | Default |
|---|---|---|---|
text |
string | The message to display (URL encoded, spaces as +) |
- |
wpm |
number | Words per minute (30-2500) | 300 |
density |
number | Words per frame (0.1-500) | 1 |
fill |
boolean | Auto-scale text to fill screen | true |
theme |
number | Color theme index (0-3) | 0 |
dark |
boolean | Dark mode | true |
emotion |
string | Animation style preset (see below) | neutral |
share |
string | Auto-play on load (yes) |
- |
aspect |
string | Aspect ratio (e.g., 16:9, 4:3, 1:1) |
16:9 |
width |
number | Output width in pixels | 480 |
height |
number | Output height in pixels | Auto-calculated from aspect |
forceAspect |
boolean | Force exact aspect; add padding if needed | false |
Aspect Ratio Rules
- If
aspectis provided, height is calculated from width and the ratio. - If both
widthandheightare provided, they overrideaspect. - If none are provided, defaults are
16:9and 480px width.
Recommended Aspect Ratios for Platforms
Twitter/X:
- Supported Range: 1:1 (Square) to 3:1 (Wide)
- Recommended: 1:1 or 16:9 for best feed display
- File Size Limits:
- Web: 15MB max
- Mobile: 5MB max
- Example:
aspect=1:1for square posts,aspect=16:9for landscape
General Social Media:
- Instagram: 1:1 (Square) or 4:5 (Portrait)
- TikTok/Reels: 9:16 (Vertical)
- YouTube: 16:9 (Landscape)
Emotion Presets (Production)
| Emotion | Vibe | Best For |
|---|---|---|
neutral |
Clean, professional | Default, announcements |
hurry |
Fast, urgent, italic | Time-sensitive alerts |
idyllic |
Slow, dreamy, airy | Poetic, calm messages |
question |
Curious, tilting | Questions, pondering |
response_required |
Urgent, pulsing | Action needed |
excited |
Bouncy, energetic | Celebrations, enthusiasm |
playful |
Fun, bouncing | Jokes, casual fun |
emphatic |
Bold, solid, impactful | Important statements |
casual |
Handwritten, relaxed | Friendly chat |
electric |
Glitchy, RGB split | Cyber aesthetic |
wobbly |
Jelly physics | Silly, playful |
Note: matrix emotion is pre-release - avoid for now.
Hyperlink Examples
Important announcement:
[PLAY BREAKING NEWS](https://andyed.github.io/iblipper2025/#text=BREAKING+NEWS&emotion=emphatic&dark=true&share=yes)
Friendly greeting:
[PLAY Hey there!](https://andyed.github.io/iblipper2025/#text=Hey+there!&emotion=casual&dark=false&share=yes)
Celebration:
[PLAY Congratulations!](https://andyed.github.io/iblipper2025/#text=Congratulations!&emotion=excited&share=yes)
Aspect ratio example (1:1):
[PLAY Square](https://andyed.github.io/iblipper2025/#text=Square&emotion=emphatic&aspect=1:1&share=yes)
GIF Export Workflow (Browser Required)
-
Open the export URL in browser:
browser action=open targetUrl="https://andyed.github.io/iblipper2025/?export=gif#text=Hello&emotion=emphatic&aspect=16:9" -
Wait ~15-20 seconds for render + encode
-
Find the downloaded GIF:
ls -t ~/Downloads/iblipper_*.gif | head -1 -
Read/attach the file to your message
Export query parameters:
| Parameter | Type | Description | Default |
|---|---|---|---|
export |
string | Format: gif, apng, png |
- |
width |
number | Output width in pixels | 480 |
height |
number | Output height in pixels | Auto-calculated from aspect |
fps |
number | Frames per second (8, 15, 30) | 15 |
aspect |
string | Aspect ratio (e.g., 16:9, 4:3, 1:1) |
16:9 |
forceAspect |
boolean | Force exact aspect; add padding if needed | false |
When to Use
Good for:
- Greetings and introductions
- Important announcements
- Celebrating milestones
- Dramatic reveals
- Adding personality to messages
Skip for:
- Long-form content (keep to 1-10 words)
- Urgent safety alerts (plain text is faster)
CLI Script
For quick URL generation, use the included shell script:
# Basic usage
src/iblipper/scripts/iblipper.sh "Hello World"
# https://andyed.github.io/iblipper2025/#text=Hello+World&emotion=emphatic&dark=true&share=yes
# PWA Protocol (if installed)
src/iblipper/scripts/iblipper.sh --pwa "Hello World"
# open "web+iblipper:Hello+World"
# With emotion
src/iblipper/scripts/iblipper.sh "Breaking News" hurry
# Light mode
src/iblipper/scripts/iblipper.sh "Good Morning" idyllic light
# As markdown link
src/iblipper/scripts/iblipper.sh -m "Click me!" excited
# [PLAY Click me!](https://...)
# GIF export URL
src/iblipper/scripts/iblipper.sh --gif "Export this" playful
# Aspect ratio
src/iblipper/scripts/iblipper.sh --aspect 1:1 "Square" emphatic
Smart PWA Detection (Recommended)
To provide the best experience, check if the PWA is installed on the user's system before generating a link.
1. Check for installation (macOS):
open -Ra "iBlipper"
2. React to the result:
-
If exit code is 0 (Installed): Use the PWA protocol for an instant, native-feeling window.
src/iblipper/scripts/iblipper.sh --pwa "Your Message" # Output: open "web+iblipper:Your+Message" -
If exit code is 1 (Not Installed): Use the standard hyperlink, but add a tip to install the PWA.
src/iblipper/scripts/iblipper.sh -m "Your Message"Add to response: "Tip: Install the iBlipper PWA from the website for a better, popup-free experience."
Additional Resources
- references/examples.md - Real-world use cases by category
- references/emotions.md - Deep dive on each emotion preset with live demos
Tips
- Try PWA protocol first - if installed, fastest and most native-feeling
- Fallback to hyperlinks - universal compatibility, always works
- Keep text concise - 1-5 words have the most impact
- Use
share=yesin hyperlinks - skips landing page - Match emotion to message -
excitedfor celebrations,emphaticfor important stuff - Dark mode looks better -
dark=trueis usually the way to go - Use sparingly - if every message is animated, none are special
- Always use markdown links -
[text](url)not raw URLs. Clean presentation matters.
Decision Flow
1. Check installation: `open -Ra "iBlipper"`
2. Result?
- FOUND (0): Use PWA protocol -> `web+iblipper:Message`
- NOT FOUND (1): Use Hyperlink -> `https://...` + "Install PWA" tip
3. Need inline image?
- Yes: Use GIF export (Signal/iMessage/etc)
- No: See step 2