This repository has no description

README.md

bsky-recap #

A daily, AI-produced hype video of your Bluesky mutuals' last 24 hours.

You give Claude one prompt. It fetches your mutuals' posts, mines them for the day's story (who's beefing, what meme spread, who went viral), composes an original beat-synced soundtrack from raw numpy, codes a custom renderer scene by scene, and outputs a <60s vertical video ready to post back to Bluesky.

No video editor, no templates, no stock anything. Every frame is drawn with Pillow, every sound is synthesized, and the edit is different every day because the timeline is different every day.

You need #

  • Claude Code
  • Python 3 with numpy, scipy, Pillow
  • ffmpeg on PATH

Use #

git clone <this repo> && cd bsky-recap
claude

Then one prompt:

Read BRIEF.md, then make today's recap for @your-handle.bsky.social

A few minutes later: recap.mp4 (archival) and recap_post.mp4 (postable, under Bluesky's 60s/100MB limits). Each run commits its generated pipeline (timeline / music / render scripts) so you can re-run or remix yesterday's cut.

What's in here #

  • BRIEF.md — the production brief Claude follows: creative direction, a taxonomy of failure modes that make recaps feel like slideshows (and how to avoid them), and hard-won technical notes.
  • fetch_bsky.py — one-shot data pull using only the public Bluesky AppView API (no auth): finds your mutuals, scores how much you actually interact with each, grabs everyone's last-24h posts with engagement stats, and downloads avatars + top post images.

Notes #

  • Only public posts from mutuals are fetched, via the public API.
  • The videos quote real people's posts verbatim and use their avatars. They're made for you, about your friends — use judgment before posting publicly.