はじめに
事の発端は、ある配信アプリのアップデートだった。
そのアプリは「トピア」。カラオケ配信に特化したアプリで、リスナーがリクエストした曲を歌う「歌凸」文化が根付いている。配信者とリスナーの交流を支える、いいアプリだった。あのアップデートまでは。
その日、無課金リスナーの努力が「消滅」することになった
ある日、運営からこんな告知が出た。
「ギフトポイントに 90 日の消費期限をつけました!」
つまり何が起きるのか。
毎日配信に通って、無料のギフトポイントをコツコツ貯めてくれていた無課金リスナーが、90 日間配信に来られなくなったら──その努力が全部ゼロになる。
彼らは「お金じゃ測れない応援」を形にしてくれていた。その気持ちに、運営は「90 日で消えます」と言ったのだ。
正直なところ、私は運営でもないし、責任を感じる立場でもない。
ただ──「気に入らんにゃ」と思った。
無課金でコツコツ応援してくれるリスナーが報われない仕組みが、どうしても許せなかった。
ならば自分で作ろう。運営がダメなら、こっちで受け皿を作ればいい。
そうして「ぽいぽいトピア」の開発が始まった。
求めていたもの
トピアの代替として、以下の機能を備えたツールが必要だった。
| 機能 | 内容 |
|---|
| 🎵 歌凸リクエスト管理 | 誰が何の曲をリクエストしたか記録 |
| 📊 ポイント管理 | リスナーに還元できる仕組み |
| 🌐 サーバー不要 | ブラウザだけで動く |
開発パートナーは AI
開発のパートナーは DeepSeek(通称クジラ)。私はコードを書けるわけではない。だから「ああしろ、こうしろ」と仕様を伝え、AI がコードを書く。動かなければ「動かない」と伝え、修正させる。この役割分担が、結果的にうまく機能した。
最初は HTML/JavaScript のみでプロトタイプを作成。PWA 対応させれば、スマホのホーム画面に追加してアプリのように使える。
「動いた!」という感動もつかの間、問題が発生した。
500 エラーとの戦い
ロリポップサーバーにアップロードした途端、HTTP ERROR 500。
原因は PHP のバージョンだった。ロリポップの初期設定は PHP 5.6。しかし自作ツールは PHP 7.4 以上が必要。管理画面から PHP バージョンを変更し、無事に動作。レンタルサーバーあるあるをまた一つ学んだ。
Google Sheets との連携
実は Google Sheets API との連携は、以前開発した「ポイぼっくす」で経験済みだった。今回はその知見を流用し、リクエスト受付や歌唱完了時のポイント自動記帳を実装。一度経験した技術を使い回せるのも、自作ツールの強みだ。
こだわりの機能ベスト 5
- 🎵 iTunes API で曲名検索&ジャケ写表示
曲名の手入力は面倒だし、タイプミスも起きやすい。そこで iTunes Search API を使って、曲名の一部を入力するだけで候補をリスト表示するようにした。選択した曲のジャケ写は NOW SINGING 表示時に自動で表示される。
同じリスナーが何度もリクエストしてくれるのは嬉しいが、毎回名前を手打ちするのは負担になる。一度入力した名前を localStorage と datalist で保存し、次回からは頭文字を打つだけで候補が出るようにした。
深夜配信で 0 時を超えるとログが別ファイルになる問題を、配信ごとにユニークなセッション ID を発行することで解決した。
function get_stream_session_id() {
$key = session_key('stream_session_id');
if (!isset($_SESSION[$key])) {
...
}
}
iTunes 検索時に取得したジャケ写を NOW SINGING に表示。たったこれだけで配信画面のクオリティが一段上がる。
同じサーバーで複数の配信者が使えるよう、URL パラメータでユーザー ID を切り替えられるようにした。セッションもログも Google Sheets も、ユーザー ID ごとに完全分離される。
現在の「ぽいぽいトピア」
| 機能 | 実装 |
|---|
| 🎵 曲名検索 | iTunes API で自動補完+ジャケ写表示 |
| 👤 名前サジェスト | 過去の入力から自動候補表示 |
| 📡 配信セッション管理 | 日付またぎ問題を完全解決 |
| 📊 Google Sheets 連携 | ポイぼっくすの知見を流用 |
| 🔑 マルチユーザー | URL パラメータで完全分離 |
| 📁 過去ログ DL | いつでも過去の配信を振り返り |
まとめ
クソアップデートは、時に人を動かす。
あの日、トピアが無課金リスナーの努力に「90 日の消費期限」をつけなければ、私は PHP のバージョンを調べることも、iTunes API を叩くことも、配信セッション ID を設計することもなかった。
「気に入らんにゃ。なら自分で作るにゃ」 その一念が、今の私を形作っている。
このツールは完全無料で公開している。 同じように困っている配信者がいたら、ぜひ使ってみてほしい。
さく猫 - 配信ツール作者 / 元トピア難民
#PHP #配信ツール #個人開発 #トピア #ポエム #やってみた