{"slug": "hypeplan-turn-plans-into-terminal-keynote-speeches", "title": "Hypeplan: Turn plans into terminal keynote speeches", "summary": "Hypeplan, a new open-source tool by developer Martin Rue, converts markdown-based plans into ASCII keynote speeches delivered in the terminal. The tool uses OpenAI's API for script generation and text-to-speech, allowing users to present plans with a virtual stage, speaker, and audience. It supports customization of voice, presentation style, and models, and caches generated assets for reuse.", "body_md": "Listen up bozo, you got two options:\n\n1: Keep reading your shitty text-based plans.\n\n2: Have your plan delivered to you as an ASCII keynote speech in your terminal.\n\nIf you really think there's a choice here, you're ngmi.\n\nHypeplan takes a normal markdown-based plan and hypes it.\n\nSuddenly the plan has its own stage, a keynote speaker, an audience and becomes infinitely more convincing.\n\nJesus, just look...\n\n... or [watch](https://youtu.be/dLdALVRQr7g)\n\n- Because normal projects already exist.\n- I asked \"what if?\" exactly once.\n- There was a lack of adult supervision.\n- And it's now way too late for that question buddy.\n\n[Bun](https://bun.sh)- An OpenAI API key\n- An audio player:\n`afplay`\n\non macOS, or`ffplay`\n\nelsewhere\n\n```\ngit clone git@github.com:martinrue/hypeplan.git\ncd hypeplan\nbun install\nbun dist\necho \"OPENAI_API_KEY=your-openai-api-key\" > .env\ncat plan.md | ./hypeplan\n```\n\nHypeplan supports these flags:\n\n-\n`--voice <name>`\n\nUse a specific TTS voice. Supported built-in defaults are`coral`\n\n,`marin`\n\n, and`cedar`\n\n. -\n`--style <name>`\n\nChoose the presentation style prompt. The default is`product-keynote`\n\n. -\n`--script-model <name>`\n\nOverride the model used to generate the presentation script. Default:`gpt-5.4-mini`\n\n-\n`--tts-model <name>`\n\nOverride the model used to generate speech audio. Default:`gpt-4o-mini-tts`\n\n-\n`--tts-speed <number>`\n\nSet speech speed to any positive number. Default:`1`\n\n-\n`--no-cache`\n\nRegenerate the script and audio instead of using cached assets.\n\n-\n`Right Arrow`\n\nSkip to the next segment of the keynote -\n`Left Arrow`\n\nGo back to the previous segment -\n`Esc`\n\n,`Ctrl-C`\n\n,`q`\n\nQuit\n\nHypeplan expects a markdown-based plan to be piped in on `stdin`\n\nor to be present on the clipboard.\n\nTo check it's a valid plan, hypeplan looks for:\n\n- a heading\n- bullets or numbered items\n- plan-oriented language such as summary, implementation, scope, rollout, or test plan\n\nGenerated assets are cached under `.cache/`\n\n.\n\nUse `--no-cache`\n\nif you want to force regeneration.", "url": "https://wpnews.pro/news/hypeplan-turn-plans-into-terminal-keynote-speeches", "canonical_source": "https://github.com/martinrue/hypeplan", "published_at": "2026-07-10 05:21:24+00:00", "updated_at": "2026-07-10 05:35:42.612841+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "generative-ai"], "entities": ["Hypeplan", "Martin Rue", "OpenAI", "Bun"], "alternates": {"html": "https://wpnews.pro/news/hypeplan-turn-plans-into-terminal-keynote-speeches", "markdown": "https://wpnews.pro/news/hypeplan-turn-plans-into-terminal-keynote-speeches.md", "text": "https://wpnews.pro/news/hypeplan-turn-plans-into-terminal-keynote-speeches.txt", "jsonld": "https://wpnews.pro/news/hypeplan-turn-plans-into-terminal-keynote-speeches.jsonld"}}