SpeakUp
使い捨てのリアルタイム声集めボード
speakup-4zv.pages.dev/ ↗- Year
- 2026
- Role
- 企画 / 設計 / 実装
- Stack
- Supabase / PostgreSQL / JavaScript / Cloudflare Pages
課題
研修やワークショップで、参加者の声をその場で集めて映したい。ただしアカウント登録を挟んだ時点で、会場の手は止まる。QRを読んで、書いて、終わり。そこまでの導線を最優先にした。テーマを決めて部屋を作るとリンクとQRが出て、届いた声は付箋としてボードに流れる。進行役はドラッグで整理でき、会が終われば部屋ごと閉じて捨てる。
解いたこと
アカウントなしで、管理操作だけ守る
参加者に許すのは投稿と閲覧だけで、RLSで制限している。非表示・移動・リセット・部屋を閉じる操作は、管理者トークンを検証するPostgres関数を通さないと実行できない。権限を画面側ではなくデータベース側に置いた。
スマホとプロジェクタで、同じ配置に見せる
付箋の座標は0〜1に正規化して保存している。画面サイズが変わっても相対位置が保たれる。
人数が増えても重くしない
参加者側は常時接続を持たず、投稿だけを送る。購読するのは一覧を開いている間だけにした。
投稿が増えてもボードが破綻しない
画面より広い仮想キャンバスを持たせ、ドラッグで移動、ピンチで拡大できる。「一斉整理」を押せば散らばった付箋が格子状に並び、文字量が違っても重ならない。
結果
ビルド工程はなし。静的ファイルを置くだけで動く。使い捨てる前提の道具なので、残すための仕組みは何も持たせていない。

