Peitho Studio —— 触れるHTMLスライドを作ろう
2026-11-04Markdown
YAPC::Tokyo 2026に向けてスライド準備している人もいると思うので、スライドツールの紹介です。 「デモを用意したい」「多言語対応したい」といった気持ちを作れたら嬉しいです😀
スライドの1ページ目から早速おねがいになってしまいますが、右上のボタンを押して「英語」「日本語」が切り替わることを確かめてほしいです。スライドがHTMLでできているので、普通のWebアプリと同じ多言語対応をしています。ゲストのLarry Wallにスライドを読んでもらうなら、絶対対応していきたいですね!!
いや、冗談っぽい言い方をしましたが、tagomorisさんが2015年に「ソフトウェア技術についてのスライドは英語で書こう」とブログに書かれていたように潜在読者は増えますし、AIがある今なら対応の敷居は低くなっているので、ぜひ選択肢にいれていきたいですね。
このスライドは、mizzyさんのスライドツール Peitho をエンジンとした Peitho Studio という拙作アプリで作っています。
せっかくならPeitho Studioを使ってほしい気持ちもありますが、そもそも HTMLスライドはいいぞ! ということを訴えたいです。
従来のスライドと違って、HTMLのスライドは触って動かせる のが決定的に違うところだと思っています。前述の多言語対応もそうですし、このスライドなら、左のスライドバーを触って粒子のアニメーションを動かせます。PDFのスライドだとデモは割愛されがちで、参加者だけのお楽しみ要素になりがちですね😀
触れるHTMLスライドの例をもう一つ。小学生の娘に算数を教えるとき、偶にこういった動くデモを用意します。すると、娘の納得感が俄然上がるんですよね。簡潔にまとめられた要点をめくりながら伝える スライドという媒体が元々もつ特性に、プラスαの価値を足せているなーと。
HTMLスライド自体は以前からあるもので、今このタイミングで言及する理由は、AIですね。AIは殊更、HTMLが得意でお願いした通り作ってくれますね。
Peitho Studioの設計系譜は、👆️のスライドの通りで、k1Low/deck がコンテンツ分離を確立し、mizzy/Peitho が表現をHTML-nativeにしてAIフレンドリーに昇華したところを、ただただ楽に使えないかと安直に発想したプロダクトです。Google Slidesほど万人向けでなくとも、身近なエンジニアの人に、楽に使えると思ってもらえたら良いなと思っています。
実際にPeitho Studioでスライド編集している様子です。Markdownでコンテンツを書いて、スライドのスタイルをいい感じにしてほしい!とコメントをすると、後ろで動いているCoding Agentが調整してくれている様子です。どのページのどの要素を調整したいかAIに指示するのは面倒ですが、Peitho Studioはそういった面倒をみます。
よかったら、Peitho Studioで HTMLスライドを作ってみてほしいです!
以下は雑談。Peitho Studioの作りについて。
- Tauri v2 のデスクトップアプリ
- Peithoの描画エンジン peitho-core 。サブプロセスではなくアプリの中に直接組み込んでいる
- フロントエンドは BarefootJS のCSRと UnoCSS
- エディタは CodeMirror。Vimモードもある(大事)
- リリース管理は、Songmu/tagpr
- コードのリファクタリングに moznion/ccccで、Cognitive Complexity をCIでチェック
- AI Agentとの連携に、crit を同梱している
一番面白かったのは、critの使い方だと思います。
アプリとAI Agentとの連携はどうするか?
AI Agentにスライドを直してもらう仕組みを設計するとき、最初に浮かんだのは、アプリにAPIキーを用意しAPIを叩いてもらうことでした。ですが、ユーザーからするとAPIキー発行は手間(?)だし、安全性も気になるのでやめました。
APIキーを利用せず、ユーザーが既に使っている Claude Code や CodexなどのCoding Agentに頼む方法はないか悩んで、閃いたのが、crit でした。critは、ファイルを対象としたレビューでAgentと人を橋渡しするツールで、元々はGitHubのPRっぽくpromptできるツールとして人気になっていると思います。
Peitho Studioでの具体的な流れはこうなっています。
これで、Studio 自体が Agent を持たず、APIキーも持たないです。最初に「このプロンプトをAgentに貼ってください」と案内するだけで、Agent がユーザーからの指示を待ってくれます。UIは Studio、連携は crit、という分担ができました。
この仕組みは、スライドツールだけでなく、ローカルアプリとCoding Agentを繋ぐのに使える一般解 なので、面白いと思います。
はい。以上です!YAPC楽しみですね!
良かったら使ってみてください!
